Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Nozioni di base di Visual Programming >> .

Come convertire DataReader to DataSet

Sebbene non ci sia soluzione di uno stadio per la conversione di un DataReader direttamente in un DataSet all'interno del Dot Net Framework di Microsoft , è possibile sottoporsi a un processo a più fasi di trasformazione di un programma utilizzando l'accesso DataReader in uno utilizzando un DataSet . Sia DataReader e DataSet sono derivati ​​utilizzando un comando che incapsula una query di database . Un DataReader restituisce i risultati della query una riga alla volta , pur rimanendo collegato al database . Al contrario, un DataSet è autonomo e contiene tutti i dati restituiti dalla query . Per prestazioni ottimali, utilizzare il DataReader , per la versatilità , il set di dati è generalmente una scelta migliore . Cose che ti serviranno
Microsoft Visual Studio o Visual Basic Express ( 2005 o versioni successive ) per codice Visual Basic o C # che utilizza un oggetto DataReader
Qualche conoscenza di Dot Net Framework dati i metodi di accesso

Mostra Altre istruzioni
1

Individuare il codice che crea il DataReader . In Visual Basic , il codice simile al seguente :

01 : Dim conn Come SqlConnection = Nothing

02 : Dim cmd Come SqlCommand

03 : Dim rdr As SqlDataReader = niente

04 : Dim campo1 , campo2 As String

05 :

06 : Prova

07 : conn = CreateConnection ( ) per

08 : cmd = New SqlCommand ( " procName " , conn ) per

09 : cmd.CommandType = CommandType.StoredProcedure

10:

11 : rdr = cmd.ExecuteReader

12 : Mentre rdr.Read

13: campo1 = rdr.GetString ( 0 ) per

14 : campo2 = rdr.GetString ( 1 ) per

15 : ...

16 : End While

17 :

18 : Catch ex As Exception

19 : Lancia

20 :

21 : Finalmente

22 : rdr.Close ( ) per

23 : conn.Close ( ) per

24 : End Try

si noti che in questo esempio , viene utilizzata la versione di SQL del DataReader . Lo stesso codice funziona per OLEDB e altre classi DataReader
2

sostituire la dichiarazione di DataReader in linea 3 con una nuova dichiarazione per un DataSet denominato DS : .

01 : Dim conn come SqlConnection = Nothing

02 : Dim cmd come SqlCommand

03 > Dim ds As New DataSet

04 : Dim campo1 , campo2 As String

05 :
3

Sostituire i riferimenti al DataReader in righe da 11 a 16 con il nuovo codice che crea e configura un DataAdapter :

06 : Prova

07 : conn = CreateConnection ( ) per

08 : cmd = New SqlCommand ( " procName " , conn ) per

09 : cmd.CommandType = CommandType.StoredProcedure

10:

11 > Dim dap As New SqlDataAdapter

12 > dap.SelectCommand = cmd

SqlDataAdapter è un oggetto di supporto utilizzato per spostare i dati avanti e indietro da un DataSet . Dopo che l'oggetto viene creato , la proprietà SelectCommand è impostata allo stesso oggetto comando utilizzato per creare il DataReader
4

Utilizzare il metodo Fill di DataAdapter per riempire il DataSet : .

13 > dap.Fill ( ds ) economici 5

chiudere la connessione prima di elaborare i dati , dal momento che il DataSet contiene ora tutti i dati restituiti dalla classe DataAdapter , chiudendo la connessione è di buona prassi . Ricorda anche di rimuovere la riga che chiude il DataReader ( linea 22 ) :

18 : Catch ex As Exception

19 : Lancia

20 :

21 : Finalmente

23 : conn.Close ( ) per

24 : End Try
6

elaborare i dati , il recupero dalla collezione fila di DataSet come segue : .

25 > per ogni riga come DataRow In ds.Tables ( 0 ) Righe

26 > campo1 = riga ( " campo1 " ) per

27 > campo2 = riga ( " Campo2 " ) per

28 > ...

29 > ...

30 > Avanti

 

Programmazione © www.354353.com