PDA

Visualizza la versione completa : [DELPHI] Query con parametri "case sensitive"


Whitecrowsrain
18-05-2007, 09:17
Salve a tutti

volevo sapere se esisteva un comando sql o delphi per estrarre da un database ACCESS tramite connessione ADO(con il driver ODBC) un risultato passando dei parametri che devono essere valutati differenti se hanno caratteri maiuscoli o caratteri minuscoli (case sensitive).

Per intenderci questa query :




SELECT CAMPO FROM TABELLA WHERE CAMPO1='Pippo';



deve avere un risultato diverso da questa:



SELECT CAMPO FROM TABELLA WHERE CAMPO2='PIPPO';


è possibile?

alka
18-05-2007, 10:01
Originariamente inviato da Whitecrowsrain
volevo sapere se esisteva un comando sql o delphi per estrarre da un database ACCESS tramite connessione ADO(con il driver ODBC) un risultato passando dei parametri che devono essere valutati differenti se hanno caratteri maiuscoli o caratteri minuscoli (case sensitive)
[...]
è possibile?
Oltreché possibile, è normale che sia così, in genere. :master:

Whitecrowsrain
18-05-2007, 10:04
Originariamente inviato da alka
Oltreché possibile, è normale che sia così, in genere. :master:
anche io lo pensavo...

invece se faccio queste due query mi danno lo stesso risultato perchè ritiene le due query identiche!

alka
18-05-2007, 10:09
Originariamente inviato da Whitecrowsrain
invece se faccio queste due query mi danno lo stesso risultato perchè ritiene le due query identiche!
Prova a verificare la configurazione della stringa di connessione ADO o quella associata all'alias ODBC per vedere che non contenga opzioni in merito.

Io comunque non farei uso di ODBC ma di un driver ADO, principalmente.

Whitecrowsrain
18-05-2007, 10:15
ecco la stringa di connessione


'Provider=MSDASQL.1;Persist Security Info=False;'+
'Data Source='+db_da.text+';Mode=ReadWrite';



perchè useresti un driver ADO ?

ma tu indenti un Data Link File (.udl )?

alka
18-05-2007, 10:40
Originariamente inviato da Whitecrowsrain
perchè useresti un driver ADO?

Perché stai usando ADO, quindi non vedo perché dovresti scomodare un driver ODBC coinvolgendo anche quest'ultima piattaforma, a meno che tu non abbia motivi specifici per farlo.

Whitecrowsrain
18-05-2007, 10:56
Originariamente inviato da alka
Perché stai usando ADO, quindi non vedo perché dovresti scomodare un driver ODBC coinvolgendo anche quest'ultima piattaforma, a meno che tu non abbia motivi specifici per farlo.

non so sinceramente perchè non ho usato il Microsoft jet 4.0 OLE DB Provider, forse perchè visto che si trattava di un "database" Access( non creato da me, non lo userei mai!) dal quale devo solo estrarre dei dati ho usato la procedura che per me fosse più comoda.

Whitecrowsrain
18-05-2007, 11:03
ops ho sbagliato a postare..cma che ho stamattina!

alka
18-05-2007, 11:32
Originariamente inviato da Whitecrowsrain
non so sinceramente perchè non ho usato il Microsoft jet 4.0 OLE DB Provider, forse perchè visto che si trattava di un "database" Access( non creato da me, non lo userei mai!) dal quale devo solo estrarre dei dati ho usato la procedura che per me fosse più comoda.
Qual è la differenza, in termini di comodità o difficoltà, tra il definire una stringa di connessione per un OLE DB Provider e per un ODBC Driver?

Forse che nell'ultimo caso devi scegliere due volte un driver specifico, e le performance non sono senz'altro particolarmente eccezionali, visto che si tratta di Access ed ogni richiesta deve attraversare uno strato software inutile, sia all'andata (per il comando) che al ritorno (per i dati reperiti).

Whitecrowsrain
18-05-2007, 12:33
Originariamente inviato da alka
Qual è la differenza, in termini di comodità o difficoltà, tra il definire una stringa di connessione per un OLE DB Provider e per un ODBC Driver?


bhe la differenza sta che utilizzando l' ole db provider dovevo cercarmi nel pc il file access, mentre con l'odbc driver bastava configurarlo e poi una volta l'anciato l'applicativo selezionare il database, tra quelli disponibili, in questione.

in teoria direi che forse è più veloce la prima soluzione, cioè quella proposta da te, ma in pratica la prima che mi è venuta in mente ho realizzato, cioè la seconda soluzione.

Cmq ora ho corretto ed uso l'ole db provider, grazie per il consiglio.. ma rimane sempre il problema che access non è case sensitive, o per lo meno questo db non lo è!

Loading