Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Visual Βασικά Προγραμματισμός

Πώς να μετατρέψετε DataReader να DataSet

Αν και δεν υπάρχει λύση σε ένα στάδιο για τη μετατροπή μιας DataReader απευθείας σε ένα DataSet εντός της Microsoft Dot Net Framework , μπορείτε να υποβληθούν σε μια διαδικασία πολλών σταδίων μεταμόρφωσης ενός προγράμματος που χρησιμοποιεί πρόσβαση DataReader σε μία χρήση ενός DataSet . Τόσο DataReader και DataSet προέρχονται χρησιμοποιώντας μια εντολή που συμπυκνώνει ένα ερώτημα βάσης δεδομένων . Μια DataReader επιστρέφει το ερώτημα προκύπτει μια σειρά σε μια στιγμή , ενώ παραμένει συνδεδεμένο με τη βάση δεδομένων . Σε αντίθεση , ένα DataSet είναι αυτοτελής και κατέχει όλα τα δεδομένα που επιστρέφονται από το ερώτημα . Για τις επιδόσεις , χρησιμοποιήστε το DataReader ? Για την ευελιξία , το σύνολο δεδομένων είναι γενικά μια καλύτερη επιλογή . Τα πράγματα που θα χρειαστείτε για Microsoft Visual studio ή Visual Basic Express ( 2005 ή αργότερα )
Visual Basic ή C # κώδικα που χρησιμοποιεί ένα αντικείμενο DataReader
κάποια γνώση της Dot Net Framework μεθόδους πρόσβασης δεδομένων

Δείτε Περισσότερες οδηγίες
Η 1

Εντοπίστε τον κώδικα που δημιουργεί το DataReader . Στη Visual Basic , ο κώδικας μοιάζει κάτι σαν αυτό :

01 : Dim conn Όπως SqlConnection = Τίποτα

02 : Dim cmd Όπως SqlCommand

03 : Dim rdr Όπως SqlDataReader = τίποτα

04 : Dim field1 , field2 Όπως String

05 :

06 : Δοκιμάστε

07 : conn = CreateConnection ( )

08 : cmd = Νέα SqlCommand ( " procname " , conn )

09 : cmd.CommandType = CommandType.StoredProcedure

10 :

11 : rdr = cmd.ExecuteReader

12 : Ενώ rdr.Read

13 : field1 = rdr.GetString ( 0 )

14 : field2 = rdr.GetString ( 1 )

15 : ...

16 : Τέλος Ενώ

17 :

18 : Catch ex Όπως Εξαίρεση

19 : Πέτα

20 :

21 : Τέλος

22 : rdr.Close ( )

23 : conn.Close ( )

24 : Τέλος Δοκιμάστε

Σημειώστε ότι σε αυτό το παράδειγμα , η έκδοση του SQL DataReader χρησιμοποιείται . Ο ίδιος κωδικός λειτουργεί για OLEDB και άλλες κατηγορίες DataReader 2

Αντικαταστήστε τη δήλωση του DataReader στη γραμμή 3 με νέα δήλωση για ένα DataSet που ονομάζεται ds : .

01 : Dim conn όπως SqlConnection = Τίποτα

02 : Dim cmd όπως SqlCommand

03 > Dim ds ως νέα DataSet

04 : Dim field1 , field2 όπως String

05 :
3

Αντικαταστήστε τις αναφορές στην DataReader στις γραμμές 11 έως 16 με το νέο κώδικα που δημιουργεί και δημιουργεί ένα DataAdapter :

06 : Δοκιμάστε

07 : conn = CreateConnection ( )

08 : cmd = Νέα SqlCommand ( " procname " , conn )

09 : cmd.CommandType = CommandType.StoredProcedure

10 :

11 > Dim dap As New SqlDataAdapter

12 > dap.SelectCommand = cmd

η SqlDataAdapter είναι ένα αντικείμενο βοηθός που χρησιμοποιείται για να μετακινήσετε τα δεδομένα και πίσω από ένα DataSet . Μετά το αντικείμενο παίρνει δημιουργηθεί , η ιδιότητα SelectCommand βρίσκεται στο ίδιο αντικείμενο εντολή που χρησιμοποιείται για να δημιουργήσει το DataReader
Η 4

Χρησιμοποιήστε τη μέθοδο Συμπληρώστε του DataAdapter να γεμίσει το DataSet : .

13 > dap.Fill (ds )
5

Κλείσιμο της σύνδεσης πριν από την επεξεργασία των δεδομένων ? δεδομένου ότι το DataSet περιέχει τώρα όλα τα δεδομένα που επιστρέφονται από την DataAdapter , το κλείσιμο της σύνδεσης είναι καλή πρακτική . Επίσης, θυμηθείτε να αφαιρέσετε τη γραμμή που κλείνει το DataReader ( γραμμή 22 ) :

18 : Catch ex Όπως Εξαίρεση

19 : Πέτα

20 :

21 :
Τέλος

23 : conn.Close ( )

24 : Τέλος Δοκιμάστε
Η 6

Διαδικασία των δεδομένων , την ανάκτηση του από τη συλλογή Row του DataSet ως εξής :

25 > για κάθε γραμμή Όπως DataRow Σε ds.Tables ( 0 ) Γραμμές

26 > field1 = σειρά ( " πεδίο1 " )

27 > = field2 . σειρά ( " Field2 " )

28 > ...

29 > ...

30 > Επόμενη

Η

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα