Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Xml, ds et base de données

1 réponse
Avatar
Anonyme
eSalut,

Je travail avec un winform.
J'extrais des informations à partir d'un fichier XML.
Je les affiches dans un datagrid.

J'aimerai les stocker dans une table de ma base de donées.
Voici mon bout de code:

[code] XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@ofd.FileName);

DataSet ds = new DataSet();
XmlNodeReader xnr = new XmlNodeReader(xmlDoc);
ds.ReadXml(xnr);

dataGrid2.DataSource = ds.Tables[2];


string sqlrequest = "SELECT c1,c2,c3 FROM ma_table";
SQLBaseDataAdapter dataAdapter = new SQLBaseDataAdapter(sqlrequest, cnx);
dataAdapter.Update(ds);
[/code]

J'ai l'erreur:
[quote]Informations supplémentaires : Impossible pour Update de trouver
TableMappings['Table'] ou DataTable 'Table'.[/quote]

J'ai également essayé avec ça:

[code]dataAdapter.Update(ds,ma_table);[/code]

Sans succès.
J'ai vu une façon de faire dans le framework (1.1) mais je suis un peu
dépassé.

Help.

Merci d'avance :)

1 réponse

Avatar
Paul Bacelar
Plusieurs remarques



1 - ds.ReadXml(xnr);

Cette instruction crée un ou plusieurs DataTable dans ds, ces tables ne
sont
pas forcement les mêmes que celles de la base.



2 - SQLBaseDataAdapter(sqlrequest, cnx);

Cette instruction renseigne le dataAdapter sur le moyen de remplir un
dataSet, pas de faire un Update.

La propriété "UpdateCommand" permettra vraisemblablement
de renseigner le
dataAdapter sur comment insérer les éléments des DataTable
du DataSet dans
les différentes tables de la base.
--
Paul Bacelar


"Anonyme"
wrote in
message news:
eSalut,

Je travail avec un winform.
J'extrais des informations à partir d'un fichier XML.
Je les affiches dans un datagrid.

J'aimerai les stocker dans une table de ma base de donées.
Voici mon bout de code:

[code] XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@ofd.FileName);

DataSet ds = new DataSet();
XmlNodeReader xnr = new XmlNodeReader(xmlDoc);
ds.ReadXml(xnr);

dataGrid2.DataSource = ds.Tables[2];


string sqlrequest = "SELECT c1,c2,c3 FROM ma_table";
SQLBaseDataAdapter dataAdapter = new SQLBaseDataAdapter(sqlrequest, cnx);
dataAdapter.Update(ds);
[/code]

J'ai l'erreur:
[quote]Informations supplémentaires : Impossible pour Update de trouver
TableMappings['Table'] ou DataTable 'Table'.[/quote]

J'ai également essayé avec ça:

[code]dataAdapter.Update(ds,ma_table);[/code]

Sans succès.
J'ai vu une façon de faire dans le framework (1.1) mais je suis un peu
dépassé.

Help.

Merci d'avance :)