Bonjour à tous,
J'aimerais copier une datatable dans ma base... Je cherche donc un méthode pour convertir ma datatable en datareader afin de pouvoir la lire ...
Je ne trouve pas de solution ...![]()
Merci d'avance pour votre aide
Bonjour à tous,
J'aimerais copier une datatable dans ma base... Je cherche donc un méthode pour convertir ma datatable en datareader afin de pouvoir la lire ...
Je ne trouve pas de solution ...![]()
Merci d'avance pour votre aide
Salut
En cherchant vite fait dans la MSDN j'ai trouvé une fonction qui fait le contraire.
Avec un minimum d'adaptation, tu devrais pouvoir l'inverser, je pense.
Mais, pourquoi veux tu passer par un DataReader pour insérer des données dans une base ? Il n'y a pas une solution plus efficace ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Private Function ReaderToTable(ByVal reader As SqlClient.SqlDataReader) As DataTable Dim newTable As New DataTable() Dim col As DataColumn Dim row As DataRow Dim i As Integer For i = 0 To reader.FieldCount - 1 col = New DataColumn() col.ColumnName = reader.GetName(i) col.DataType = reader.GetFieldType(i) newTable.Columns.Add(col) Next While reader.Read row = newTable.NewRow() For i = 0 To reader.FieldCount - 1 row(i) = reader.Item(i) Next newTable.Rows.Add(row) End While Return newTable End Function
Bah en gros , je ne peut pas me connecter a ma base de données a cette instant la... Il faut donc que je stocke des données afin de pouvoir les rentrer par la suite
Ben alors pourquoi passer par un DataReader.
Si tes données sont dans une DataTable, il est facile de la renvoyer dans la base aprés coup, non ?
Peut être as tu d'autre contrainte ?
Bah écoute, je ne sais pas justement. Je débute en VB.NET, donc je ne sais pas trop. J'ai fait quelque recherche mais j'ai rien trouvé de concret. D'où ma question sur le forum...
Moi je pense que tu devrais plutôt t'orienter vers une petite procédure qui récupère les données de ta DataTable et les envoi dans le bon sens vrs la BDD.
Reste à voir si ta DataTable correspond pile poil à la table d'arivée ou si tu as fabriqué des données composite avec plusieurs tables, mais là, ça relève plus du SQL que du VB.NET.
Et surtou voir pourquoi tu ne peut pas te connecter à la BDD à ce moment là (c'est un point que j'ai du mal à comprendre).
Par contre, aprés recherche plus approfondie : on ne peut pas transformer une DataTable en DataReader comme ça. Il faut manipuler un fonction dans le même genre que celle que je t'ai filé mais dans l'autre sens. Ces deux objets ne sont pas "compatible" entre eux.
Partager