J'ai fait de la recherche au-dessus du Web. Au-dessous de sont mon arrangement.
Pour mettre à jour l'ensemble de données à la base de données la méthode typique est d'employer SqlDataAdapter. Mais ceci exige pour passer des commandes SQL aussi bien, au moins rapport CHOISI avec SqlCommandBuilder. Encore SqlCommandBuilder est signifié seulement pour des mises à jour de simple-table. L'exemple dans ce lien de msdn montre ce =>
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommandbuilder.aspxPour mettre à jour des multi-tables, using le même SqlDataAdapter/SqlCommandBuilder
, ce devrait être adapteur mis à jour de la table-par-table une pour chaque table. Ce lien montre ce =>
http://msdn.microsoft.com/en-us/library/4esb49b4(v=VS.80).aspxSi vous avez seulement peu de tables à mettre à jour, alors je dirais de suivre les méthodes ci-dessus. Puisque l'ensemble de données dactylographié a été créé de la base de données son schéma assortirait la base de données.
Alternativement vous pouvez directement importer les données de xml dans la base de données using l'INSERTION EN BLOC du serveur de SQL ou l'OPENROWSET (le VOLUME…) ou utilité de bcp. Encore l'exampless j'ai vu jusqu'ici des affaires avec une table à la fois. =>
http://msdn.microsoft.com/en-us/library/ms175915.aspxou s'il y a une tiers bibliothèque de code qui balaye l'ensemble de données et crée des sqls et fait la mise à jour, puis est qui ce que vous demandez. Fondamentalement « mettre à jour l'ensemble de données à la base de données sans employer le sqldataadapter ». Je vérifierai et mettrai à jour si je trouve un tel code.
ou vous pouvez utiliser d'autres outils pour exporter des données de xml vers la base de données comme Altova DatabaseSpy, =>
http://www.altova.com/databasespy/database-import-export.html de XMLSpy
Pour la table simple de base la mise à jour au-dessous du code fonctionne pour moi :
Ensemble de données d'ensemble de données ;
l'ensemble de données de // est rempli ici
utilisation (raccordement de SqlConnection = nouveau SqlConnection (connectionString
))
{
Adapteur de SqlDataAdapter = nouveau SqlDataAdapter () ;
adapter.SelectCommand = nouveau SqlCommand (« col1 CHOISI, col2 de Table1 », raccordement) ;
Constructeur de SqlCommandBuilder = nouveau SqlCommandBuilder (adapteur)
;
raccordement. S'ouvrir () ;
builder.GetUpdateCommand ()
;
adapteur. Mise à jour (ensemble de données, tableName) ;
}
Concernant vos notes sur l'ensemble de données et le raccordement, le doesnot d'ensemble de données ont ou des détails de raccordement de magasin. c'est son usage spécial (nature dis-connected). C'est le SqlDataAdapter qui emploie le raccordement. Également je pense que le problème est identique si c'est ensemble de données ou ensemble de données dactylographié. L'ensemble de données dactylographié vous aide juste à l'employer aiment un objet d'affaires. Être à la base commettent des taks est le même pour tous les deux.
Espérer que ceci aide à te montrer une certaine lumière.