PDA

View Full Version : Ricerca in un database con Visual Basic


leon84
09-07-2003, 09:04
Salve , per ricercare un record in un database utilizzo il metodo FindFirst dell'oggetto recordset ma mi dà errore . Ho anche consultato la guida e la descrizione è la seguente :

Si supponfa di utilizzare l'oggetto data1 per connettersi al database

data1.recordet.findfirst criterio

al posto di criterio ho messo una variabile di tipo strinfa ma mi dice che il suo contenuto non è valido . Qualcuno sà dirmi perché ? Grazie

leon84
09-07-2003, 13:28
Ho provato anche nel seguente modo :

Data1.RecordSource = "SELECT * FROM TabComuni WHERE Comune = '" & comune & "';"

così funziona alla perfezione tranne però quando il comune presenta degli apici tipo "POMIGLIANO D'ARCO" . Quando questo avviene , infatti , la stringa SQL mi genera un errore perché rileva un apice di troppo . Come posso ovviare ? Rispondete per favore

A\|dR3\V
09-07-2003, 13:44
invece di usare il find first io uso questo:

Recordset.Find ("comune ='" + comuneDaRicercare + "'")

matpez
09-07-2003, 13:45
Come tu avevo già detto è meglio connetterti con con il Data1 cmq la scelta poi è tua..

Fai cosi

sComune=Replace(comune,"'","''")
Data1.RecordSource = "SELECT * FROM TabComuni WHERE Comune = '" & sComune & "';

e poi tutto il resto, cosi convertento l'apice ' con due apici '' (nn sono le virgolette, ma due apici affiancati fianco)

ciaoooooooooooooooooooooooooo

leon84
09-07-2003, 14:23
oK , HO PROVATO E MI FUNZIONA ALLA GRANDE . Per rispondere alla tua prima frase " Usare il data1 .... " , ho preferito ricercare con l'istruzione SQL siccome lo stesso progetto lo devo estendere anche al web con le pagine ASP e a quel punto SQL mi fà più che comodo . A proposito .... l'istruzione replace funziona anche il VBScript ? Grazie ancora per il replace

matpez
09-07-2003, 15:50
No, ho scritto male....è meglio connetterti con il metodo che ti avevo detto l'altra volta...ricordi?!?!

Ho scritto male, perdono :p

leon84
09-07-2003, 16:58
ok perdonato ;)