Interpretare stringa SQL

Discussioni generali sulla programmazione in LabVIEW, domande, problemi e soluzioni.

Moderatore: ILVG mod

  • Advertisement

Interpretare stringa SQL

Messaggioda gepponline » gio mar 22, 2018 10:03 am

...ma ciao!
ho un campo testuale in cui l'addetto mi inserisce un filtro in questa maniera:

Codice: Seleziona tutto
Luca AND (Marco OR Gigi)


Sfruttando operatori logici AND OR e parentesi a piacimento.
Devo interpretare questa stringa per fare una select su un database utilizzando l'operatore Like.
Qualche suggerimento su come fare?
..ma ciao!
Immagine
Avatar utente
gepponline
Moderatore
 
Messaggi: 2148
Iscritto il: ven gen 28, 2005 11:27 am
Località: Monticello Brianza

Advertisement

Re: Interpretare stringa SQL

Messaggioda nicola » ven mar 23, 2018 4:15 pm

Se ti riferisci alla sintassi SQL, potrebbe essere:

Codice: Seleziona tutto
SELECT TabUSer.[user], *
FROM TabUSer
WHERE user='gigi' AND ('marco' OR 'gigi');
Nicola |ILVG STAFF

Bytelabs.it
Avatar utente
nicola
Moderatore
 
Messaggi: 1525
Iscritto il: gio gen 08, 2004 3:30 pm
Località: Ferrara

Re: Interpretare stringa SQL

Messaggioda gepponline » ven mar 23, 2018 5:16 pm

ecco..immaginavo di non essere stato chiaro.
Il problema non è come interpretarla in SQL, ma come trasformare quella stringa in una stringa WHERE con la sintassi corretta per SQL utilizzando LabVIEW.

Quindi discriminare cio' che è tra parentesi da cos anon lo è e identificare i valori.

Quindi do in pasto al mio VI la stringa
Luca AND (Marco OR Gigi)
E devo ottener ein output:
WHERE INTERV1.USER Like '%Luca%' AND (INTERV1.USER Like '%Marco%' OR INTERV1.USER Like '%Gigi%')

gli OR, gli AND e le parentesi possono essere quanti si vuole.
..ma ciao!
Immagine
Avatar utente
gepponline
Moderatore
 
Messaggi: 2148
Iscritto il: ven gen 28, 2005 11:27 am
Località: Monticello Brianza

Re: Interpretare stringa SQL

Messaggioda nicola » dom mar 25, 2018 3:08 pm

Immaginavo, dovresti giocarci un po usando search and replace string, tasto destro spunti regular expression.

Questa l'ho imparata mentre cercavo qualcosa per aiutarti ;-)
Il regular Expression (anche il match regular expression) usa il PCRE (Perl Compatible Regular Expression) quindi puoi usare i regex, a questo punto ti trovi un mare di info su internet per fare il parse di una stringa usando regex pcre.

Ti allego un esempio, da completare che usa Replace STring in modalità regular espression.

Trovi anche una tabella con le codifiche regex

Buon lavoro Geppo :-)
Allegati
regex - cheat sheet.png
ReplaceSTringForSQL.vi
(9.48 KiB) Scaricato 183 volte
Nicola |ILVG STAFF

Bytelabs.it
Avatar utente
nicola
Moderatore
 
Messaggi: 1525
Iscritto il: gio gen 08, 2004 3:30 pm
Località: Ferrara

Re: Interpretare stringa SQL

Messaggioda gepponline » lun mar 26, 2018 10:07 am

Sapevo di dover giocar eun po' con le stringhe ma non riuscivo a trovare la chiave per evitare problemi con parentesi annidate ecc.
Alla fine ho risolto cosi' e pare funzionare. :wink:
Allegati
interpreta SQL.png
..ma ciao!
Immagine
Avatar utente
gepponline
Moderatore
 
Messaggi: 2148
Iscritto il: ven gen 28, 2005 11:27 am
Località: Monticello Brianza

Re: Interpretare stringa SQL

Messaggioda nicola » lun mar 26, 2018 11:25 am

Ottimo
Nicola |ILVG STAFF

Bytelabs.it
Avatar utente
nicola
Moderatore
 
Messaggi: 1525
Iscritto il: gio gen 08, 2004 3:30 pm
Località: Ferrara



  • Advertisement

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti

cron

Pannello di Controllo Utente

Login

Advertisement

Chi c’è in linea

In totale ci sono 5 utenti connessi :: 0 iscritti, 0 nascosti e 5 ospiti (basato sugli utenti attivi negli ultimi 5 minuti)
Record di utenti connessi: 119 registrato il dom mar 31, 2013 11:39 pm

Visitano il forum: Nessuno e 5 ospiti