PDA

Visualizza la versione completa : [VB] Databases: connessione e query


RegginA
06-11-2002, 14:59
Ciao,
è una settimana che ci provo ma senza risultati.

Io vorrei sapere per bene come si esegue una connessione con dsn ad un databases e come si estraggono da questo records tramite una query sia statica (già definita da me) sia dinamica (che so...che estragga dati con la data che inserisce un utente, che hanno quella particolare caratteristica richiesta dall'utente).

Sono un principiante di VB, lavoro con asp, non penso sia così diverso.

Mi basta che qualcuno mi faccia qualche esempio di come fa lui di solito.

Vi ringrazio tatissimo.

Ciao

Johnny_Depp
06-11-2002, 15:18
Creati un DSN di sistema
poi inserisci questo codice:

Dim i as Integer
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=MSDASQL; Data Source=MIO_DSN; Database=MIO_DSN; User Id=; Password=; Security Info=True"
cn.Open
'QUERY STATICA
Set rs = cn.Execute("SELECT * FROM mia_tabella WHERE nome='pippo'")
'QUERY DINAMICA
'<--Set rs = cn.Execute("SELECT * FROM mia_tabella WHERE nome='" & txt_NOME & "'")
rs.MoveFirst
i=0
While Not rs.EOF
for i=0 to 9 '<--supponendo che il tuo record sia composto da 10 campi
Mia_ListBox.AddItem rs.Fields(i)
i=i+1
Next i
rs.MoveNext
Wend
P.S. txt_NOME è una casella di testo in cui tu inserisci il criterio
di ricerca... ma volendo può essere anche il nome di una variabile

RegginA
06-11-2002, 16:13
Ok.
Questo codice dove lo metto?
Per ogni recordset devo aprire una connessione oppure metto la connessione sul form ed i recordset agli eventi o agli oggetti giusti?

Ma recordset e connessione non andrebbero chiusi poi?

Se il db è access la stringa di connessione resta quella?

Io imposto la password direttamente sul dsn... la posso escludere sulla query?

Poi provo tutto e vi faccio sapere.

Grazie

Johnny_Depp
06-11-2002, 21:36
<<Questo codice dove lo metto?
All'interno di una routine di un form, in genere lo chiami in un
evento COMMAND_BUTTON_Click()... ma puoi utilizzarlo dove credi sia più utile,
dipende dal tipo di applicazione che stai sviluppando

<<Per ogni recordset devo aprire una connessione oppure metto la connessione sul form ed i recordset agli eventi o agli oggetti giusti?
In genere si apre la connessione al database
si processa tutto quello ch si ha da processare...(routine,loop,ecc...)
poi si chiude la connessione e si distruggono gli oggetti rs e cn

<<Ma recordset e connessione non andrebbero chiusi poi?
SI certo una volta processato i dati della query sql...
(come sopra)

<<Se il db è access la stringa di connessione resta quella?
la stringa di connessione che ho postato in questo 3D
funziona con quasi tutti i database (basta avere installato
sul PC in cui si trova il DATABASE i relativi driver ODBC
ed aver configurato al meglio un DSN di sistema che punta
alla cartella dei file del DB (es: .mdb) o al DataBase stesso (a seconda del DB che si utilizza)

<<Io imposto la password direttamente sul dsn... la posso escludere sulla query?
Non sono sicuro!!! (io in genere la inserisco nella stringa di connessione (fai una prova)

Loading