Connessione al database con Visual Basic NET? Lo trovi su Opentraining.it Visual Basic Italia
PRINCIPALE > ARTICOLO

Eseguire una ricerca veloce nell' archivio delle risorse di Visual Basic Italia®: 

Preso dall'archivio...

Premere il pulsante sotto per accedere direttamente ad un articolo o ad un esempio preso in modo casuale dall'archivio.



Ultimo e-book pubblicato:

"INTRODUZIONE AI CSS"

Lo scopo del CSS language è quello di controllare lo stile dei vari elementi che concorrono a formare un
documento HTML.
Si può operare in tre modi collegamento ad un foglio di stile esterno;definizione degli stili all'inizio
del documento utilizzo della proprietà style all'interno di un Tag HTML (embedded style). Questo e-book introduttivo
servirà per apprendere tali nozioni fondametali dei fogli di stile.

Prezzo: € 0.0.
Presentazione:
REAL SOFTWARE RILASCIA LA VERSIONE 5.0 di REALbasic per Windows






Gorizia, 5 maggio 2003 - Active, distributore in esclusiva di REALSoftware, Austin, Tx, annuncia la disponibilità di REALbasic 5.0 per Windows, uno strumento per lo sviluppo semplice da usare che permette agli utenti Windows di tutti i livelli di creare applicazioni personalizzate e di compilarle sia per la piattaforma Windows che per quella Macintosh.
[>>]

http://www.active-software.com

 

Contatti. Utilizzare l'email generica per domande relative al sito:
Porre domande relative al sito
oppure scrivere ad un responsabile di area.
Responsabile del sito: >Andrea Martelli
Responsabile area "Corso di VB":
> Giorgio Abraini

Visual Basic e ADO per tutti - terza parte (a cura di Davide Cerbo)

Questa lezione, consultata da 3044 utenti, è stata giudicata di ottimi contenuti , con un'esposizione perfettamente comprensibile e con un livello di approfondimento ottimo da 46 votanti.


ADO sul Web

Veniamo ora ad una parte "calda" di questo tutorial. Quanto appreso sopra vi sarà di grande aiuto essendo i comandi SQL sempre e naturalmente indispensabili per l'interrogazione del database e una conoscenza di ASP (Active Server Page). Il sistema che useremo è il seguente.
Abbiamo due applicazioni:

» Il programma client che andrà installato in locale e sarà scritto in Visual Basic.
» Una pagina ASP che ha il compito di svolgere le operazioni sul server e restituire il risultato all'applicazione client.

Per ogni operazione necessaria è consigliabile creare una pagina ASP diversa in modo da non complicarsi la vita nello scrivere una pagina ASP universale (ciò non vieta che sarebbe utile farlo:)
Nel tutorial sono presenti due pagine ASP una per il SELECT ed una per l'UPDATE.
Fatta questa breve introduzione vi illustro ora in 10 passi come creare l'applicazione di esempio:

1) Create il form in Visual Basic.

2) Nei riferimenti aggiungete:
a) Microsoft ActiveX Data Object 2,5 library.
b) Microsoft XML, version 2.

3) Nei componenti inserite:
a) Microsoft DataGrid Control 6 (SP5)(OLEDB).

4) Inserite una DataGrid (DataGrid1) e due bottoni (Command1 e Command2).

5) Copiate il codice qui di seguito nel form.

Option Explicit
Private rs As ADODB.Recordset
'qui inserite la path del vostro sito
Private Const PathDB = "http://localhost/" '*****

Private Sub Command1_Click()
Set rs = New ADODB.Recordset
With rs
If .State = adStateOpen Then .Close  
.CursorLocation = adUseClient
'invia una variabile col nome della tabella da interrogare alla pagina asp
.Open PathDB & "interroga.asp?Tabella=prova" '*****
End With
If rs.Fields(0).Name = "Type" And rs.Fields(0).Value = "##Error##" Then
'se viene segnalato un errore lo segnala, altrimenti....
MsgBox rs("Description") & vbCrLf & "Codice: " & rs("Code"), vbCritical, _ rs("Source")
Else
'...setta il recordset caricato come la fonte di dati del programma
Set DataGrid1.DataSource = rs
End If
End Sub


Private Sub Command2_Click()
'aggiorna il database
Dim stm As ADODB.Stream
Dim xml As MSXML.XMLHTTPRequest
Set xml = New MSXML.XMLHTTPRequest
Set stm = New ADODB.Stream
rs.Save stm, adPersistXML
'apre la pagina asp
xml.Open "POST", PathDB & "modifica.asp", False
'invia le modifiche alla pagina asp
xml.send
stm.ReadText
'controlla se l'invio è andato a buon fine
If xml.responseText <> "" Then MsgBox Right(xml.responseText, _ Len(xml.responseText) - InStr(xml.responseText, vbCrLf) - 1), vbCritical, _ Left(xml.responseText, InStr(xml.responseText, vbCrLf) - 1)
End Sub

Private Sub Form_Load()
Call Command1_Click
Command1.Caption = "SELECT"
Command2.Caption = "UPDATE"
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
'quando il form viene chiuso chiude il recordset
Set rs = Nothing
End Sub

6) Modificate dove richiesto nei commenti (ci sono 5 asterischi (*) alla destra delle righe da modificare.

7) Create un nuovo documento col notepad e inserite il codice qui di seguito questo codice va modificato solo dove è presente l'asterisco, Chiamate il documento aggiungi.asp.

<!--#include File="adovbs.inc"-->

<% Dim rs
Dim stm
Dim conn
On Error Resume Next
Set rs = Server.CreateObject("ADODB.Recordset")
Set stm = Server.CreateObject("ADODB.Stream")
Set conn = Server.CreateObject("ADODB.Connection")
'apre la connessione al database * qui dovete specificare dove si trova il db.
conn.ConnectionString = "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("nomeDB.mdb")
conn.CursorLocation = adUseClient
conn.Open
'aggiorna il database
rs.CursorLocation = adUseClient
rs.Open Request
rs.ActiveConnection = conn
rs.UpdateBatch

'gestisce gli eventuali errori
If Err Then
Response.ContentType = "text/xml"
Response.Write Err.Source & vbCrLf & Err.Description & vbCrLf & "Codice: " & Err.Number End If

'chiude la connessione
stm.Close
rs.Close
Set stm = Nothing
Set rs = Nothing%>

8) Create un nuovo documento col notepad e inserite il codice qui di seguito questo codice va modificato solo dove è presente l'asterisco. Chiamate il documento modifica.asp.

<!--#include File="adovbs.inc"-->

<% Dim rs
Dim stm
Dim conn
On Error Resume Next
Set rs = Server.CreateObject("ADODB.Recordset")
Set stm = Server.CreateObject("ADODB.Stream")
Set conn = Server.CreateObject("ADODB.Connection")
'apre la connessione al al database * qui dovete specificare dove si trova il db.
conn.ConnectionString = "driver={Microsoft Access Driver (*.mdb)};dbq=" & _ Server.MapPath("nomeDB.mdb")
conn.CursorLocation = adUseClient
conn.Open
rs.CursorLocation = adUseClient
'effettua la query sulla tabella specificata nel programma VB
rs.Open "SELECT * FROM " & Request.QueryString("Tabella"), conn , adOpenkeyset, adLockBatchOptimistic

If Err Then
Set rs = Server.CreateObject("ADODB.Recordset")
If .State = adStateOpen Then rs.Close
rs.Fields.Append "Type", adVarChar, 9
rs.Fields.Append "Source", adVarChar, 50
rs.Fields.Append "Description", adVarChar, 255
rs.Fields.Append "Code", adInteger
rs.Open
rs.AddNew
rs.Fields("Type") = "##Error##"
rs.Fields("Source")= Err.Source
rs.Fields("Description") = Err.Description
rs.Fields("Code") = Err.Number rs.BatchUpdate
End If
rs.Save stm, adPersistXML
'invia la risposta
Response.ContentType = "text/xml"
Response.Write stm.ReadText
'chiude la connessione al database
stm.Close
rs.Close
Set stm = Nothing
Set rs = Nothing %>


<!--#include File="adovbs.inc"-->

<% Dim rs
Dim stm
Dim conn
On Error Resume Next
Set rs = Server.CreateObject("ADODB.Recordset")
Set stm = Server.CreateObject("ADODB.Stream")
Set conn = Server.CreateObject("ADODB.Connection")
'apre la connessione al database
conn.ConnectionString = "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("db2.mdb")
conn.CursorLocation = adUseClient
conn.Open
rs.CursorLocation = adUseClient
'effettua la query sulla tabella specificata nel programma VB
rs.Open "SELECT (*) FROM " & Request.QueryString("Tabella"), conn , adOpenkeyset, adLockBatchOptimistic
If Err Then
Set rs = Server.CreateObject("ADODB.Recordset")
If .State = adStateOpen Then rs.Close
rs.Fields.Append "Type", adVarChar, 9
rs.Fields.Append "Source", adVarChar, 50
rs.Fields.Append "Description", adVarChar, 255
rs.Fields.Append "Code", adInteger
rs.Open rs.AddNew rs.Fields("Type") = "##Error##"
rs.Fields("Source") = Err.Source
rs.Fields("Description") = Err.Description
rs.Fields("Code") = Err.Number
rs.BatchUpdate
End If
rs.Save stm, adPersistXML
'invia la risposta
Response.ContentType = "text/xml"
Response.Write stm.ReadText
'chiude la connessione al database
stm.Close
rs.Close
Set stm = Nothing
Set rs = Nothing %>

9) Create un nuovo documento col notepad e inserite il codice scaricabile qui. Questo codice non va modificato. Rinominate il documento adovbs.txt in adovbs.inc.

10) Fate l'upload delle due pagine asp dove si trova il database.

Ora siete pronti ad eseguire il form che avete scritto prima in Visual Basic.

 

Davide Cerbo scrive sul sito www.e-salerno.it