Operatore SQL Like: sintassi e utilizzo
Note:
Questa funzione è disponibile solo in NCache Enterprise.
NCache ti consente di cercare un modello specifico in una colonna tramite il formato di query simile a SQL utilizzando COME operatore.
I due caratteri jolly utilizzati con il COME operatore sono:
*
: utilizzato come sostituto di zero o più caratteri nella stringa.?
: Usato come sostituto di un singolo carattere nella stringa.
Prerequisiti
- Per conoscere i prerequisiti standard richiesti per lavorare con all NCache caratteristiche lato client si prega di fare riferimento alla pagina indicata su Prerequisiti dell'API lato client.
- Gli oggetti ricercabili e i relativi attributi devono essere indicizzati da entrambi configurazione degli indici or definire gli indici a livello di codice.
- La cache deve essere in esecuzione.
- L'applicazione deve essere connesso alla cache prima di eseguire l'operazione.
- Per i dettagli dell'API, fare riferimento a: ICache, ICacheReader, Esegui Lettore, Servizio di ricerca, QueryCommand, EseguiNonQuery.
- Assicurati che i dati aggiunti lo siano serializzabile.
- Per garantire che l'operazione sia a prova di errore, si consiglia di gestire eventuali potenziali eccezioni all'interno dell'applicazione, come spiegato in Gestione dei guasti.
- Per gestire eventuali eccezioni invisibili, fare riferimento a Troubleshooting .
Sintassi
Ecco un esempio che cerca nella cache e recupera tutti i prodotti che hanno il loro file Nome del prodotto a cominciare dalle lettere shampoe Categoria a cominciare dalle lettere Casalingo utilizzando ExecuteReader
.
try
{
// Pre-condition: Cache is already connected
// Items are already present in the cache
// Specify the query with the specified criteria.
// Use the Fully Qualified Name (FQN) of your own custom class
string query = "SELECT * FROM FQN.Product WHERE ProductName LIKE ? AND Category LIKE ?";
// Use QueryCommand for query execution
var queryCommand = new QueryCommand(query);
// Providing parameters for query
queryCommand.Parameters.Add("ProductName", "P*");
queryCommand.Parameters.Add("Category", "Beverage?");
// Executing QueryCommand through ICacheReader
ICacheReader reader = _cache.SearchService.ExecuteReader(queryCommand);
// Check if result set is not empty
if (reader.FieldCount > 0)
{
while (reader.Read())
{
// Get the value of the result set
string result = reader.GetValue<string>("ProductID");
// Perform operations
}
}
else
{
// Null query result set retrieved
}
}
catch (OperationFailedException ex)
{
if (ex.ErrorCode == NCacheErrorCodes.INCORRECT_FORMAT)
{
// Make sure that the query format is correct
}
else
{
// Exception can occur due to:
// Connection Failures
// Operation Timeout
// Operation performed during state transfer
}
}
catch (Exception ex)
{
// Any generic exception like ArgumentException, ArgumentNullException
}
Note:
Per garantire che l'operazione sia a prova di errore, si consiglia di gestire eventuali potenziali eccezioni all'interno dell'applicazione, come spiegato in Gestione dei guasti.
Risorse addizionali
NCache fornisce un'applicazione di esempio per la ricerca SQL su GitHub.
Vedere anche
.NETTO: Alachisoft.NCache.Servizi.clienti spazio dei nomi.
Giava: com.alachisoft.ncache.cache.di.runtime spazio dei nomi.
Node.js: Cache classe.
Pitone: ncache.servizi.clienti classe.