Newsgroup: it.comp.lang.delphi
Titolo: Espressioni regolari

In una query SQL su una tabella e' possibile usare le espressioni
regolari?
Bisogna usare l'operatore "like" ?
E' possibile vedere un esempio di comando SQL che usa le espressioni
regolari?

cosa c'entra con delphi?
A.

> cosa c'entra con delphi?
Vorrei scrivere un programma che, sui campi di tipo stringa di una
tabella, permette di eseguire delle query SQL usando le espressioni
regolari.

 regolari.
sei ot. dovresti vedere nella guida de db che usi.
A.


Perche' sarei off-topic? Non si tratta sempre di scrivere un programma
in delphi?
Ho letto su un libricino che MySQL supporta due operatori per il
confronto di testi: LIKE e REGEXP (REGEXP supporta le espressioni
regolari); delphi permette di usare solo l'operatore LIKE ?
Usando il componente TQuery ho provato a scrivere la seguente query e
tutto va bene
SELECT * FROM listino
WHERE descrizione LIKE '%server'
quando pero' provo a scrivere
SELECT * FROM listino
WHERE descrizione REGEXP '%server'
mi appare il seguente messaggio d'errore
Invalid use of keyword.
Token: descrizione
Line number: 2
Da notare che la keyword non valida NON e' "REGEXP" ma il campo
"descrizione" !
Se l'operatore REGEXP non fosse supportato non dovrebbe apparire
scritto che la keyword sbagliata e' "REGEXP" ?

 tutto va bene
xche prp tquery? Hai provato con ado? Hai provato con dbx?
E, a parte cio, prima ancora di delphi, hai provato a fare questa cosa
dalla console di MySql?
A.

 dalla console di MySql?
Non uso un db particolare, uso il BDE (tabelle in formato Paradox).
Se sai le risposte alle domande precedenti puoi rispondere?

 Se sai le risposte alle domande precedenti puoi rispondere?
Vediamo se riesco a speigarmi.
1) il fatto che un db supporti o meno le regex non ha nulla a che fare
con delphi
2) per sapere se un db supporta le regex il posto giusto è ovviamente
scontato di sicuro non è questo ng
3) dovrebbe essere automatico, prima di dire che con delphi va o non
va, vedere se quelle sintassi funzionano dalla console del db che si
sta utilizzando e magari da qualche altro strumento esterno
4) qualora il db le supportasse e da console dovessero funzionare ma
da delphi no, allora quello è il momento di chiedere lumi qua.
Gia altri hanno avuto un problema di sintassi su SqlServer, ma prima
di scrivere qua hanno provato quelle sintassi fuori da delphi. E solo
dopo aver riscontrato che fuori di delphi quelle sintassi vanno ma
dentro delphi no hanno postato qua.
A.

Almeno mi dici che differenze ci sono tra il BDE, ADO e dbExpress ?

 Almeno mi dici che differenze ci sono tra il BDE, ADO e dbExpress ?
Ahi: ho una brutta sensazione ...
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

> Almeno mi dici che differenze ci sono tra il BDE, ADO e dbExpress ?
bde=obsoleto. lo usi se DEVI. Ad esempio, sei legato a paradox, hai
10terabytes di codice basato su bde....
ado=microsoft.. ho detto tutto.
dbx:
cursori unidirezionali.
se il provider che usi funziona come si deve hai delle prestazione
mostruose.
un test comparativo fatto da me (db2 su as400) tra ado e dbx ha
evidenziato tempi tipo 1:4 a netto vantaggio di dbx.
Ma se usi paradox, il dbx on puoi usarlo: paradox è parte del bde.
A.

 bde=obsoleto. lo usi se DEVI.  [...]
A,
sono esterrefatto dalla serenità e sensibilità che hai profuso nella
tua ultima risposta.
Io la vedevo ormai come ACSH: "ho una brutta sensazione".
Gp :-P

 Io la vedevo ormai come ACSH: "ho una brutta sensazione".
..giusto xche la ricerca sui gruppi di google funziona in modo
cinofallico....
Altrimenti, col c@@@o che rispondevo cosi'.
A.

 cinofallico....
Non vorrei sbagliare, ma secondo me anche nella documentazione in linea 
sono presenti paragrafi introduttivi e panoramiche sulle diverse tecnologie.
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

 Ma se usi paradox, il dbx on puoi usarlo: paradox � parte del bde.
Grazie della risposta.
dbExpress e' per le applicazioni client-server? Per database su server
che permettono l'accesso a piu' client anche in contemporanea?
Nel caso del listino di un negozio (quindi un database locale, a cui
accede un solo client) il BDE con Paradox e' adatto?
Non e' obsoleto vero?

 Non e' obsoleto vero?
Il BDE � obsoleto da anni. Sui sistemi operativi piu' recenti � anche
quasi 
impossibile da installare. Lascia perdere BDE e Paradox e usa altri DB (io
mi 
permetto di consigliare Firebird). 
Magari prima chiarisciti le idee (database e tecnologie di accesso)
cercando 
informazioni su questo NG (dove se ne e' parlato qualche centinaio di
volte) o 
su quelli CODEGEAR.
ACSH


 accede un solo client) il BDE con Paradox e' adatto?
Paradox xche vecchio, obsoleto e incluso in delphi solo per
retrocompatibilita.
Quindi, ripeto: NON VA USATO.
Access invece non va usato perche' NON FUNZIONA.
A.

 NON E' UN DATABASE.
Scusa la mia ignoranza, ma database come Paradox o Access non sono
database locali che permettono l'accesso a un solo client?
Conosco gestionali che usano tabelle in formato Paradox e altri che
usano tabelle in formato MDB (che dovrebbe essere il formato di Access).

 database locali che permettono l'accesso a un solo client?
Appena riporti la fonte di questa cosa che hai scritto ne parliamo.
A.

 Appena riporti la fonte di questa cosa che hai scritto ne parliamo.
Non ho mai usato ne Paradox ne Access, ma parecchi anni fa ho usato
dBase II, e mi ricordo che non supportava piu' client in contemporanea.
Riguardo il discorso dei gestionali?