Jag gjorde någon forskning över rengöringsduken. Nedanför är min överenskommelse.
Att uppdatera dataset till databasen den typiska metoden är att använda SqlDataAdapter. Men detta kräver för att passera sql befaller som väl, åtminstone det VALDA meddelandet med SqlCommandBuilder. Igen SqlCommandBuilder betyds endast för singel-bordlägger uppdateringar. Exemplet i denna msdn anknyter visar den =>
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommandbuilder.aspxAtt uppdatera mång--bordlägger, using den samma SqlDataAdapteren/SqlCommandBuilder
, den bör uppdateras bordlägga-vid-bordlägger en adapter för varje bordlägger. Detta anknyter visar den =>
http://msdn.microsoft.com/en-us/library/4esb49b4(v=VS.80).aspxOm du har endast, fåtalet bordlägger för att uppdatera, då jag skulle något att säga för att följa metoderna över. Sedan den skrivade dataseten har skapats från databasen dess schemaen skulle match databasen.
Alternativt du kan direkt importen xmldatan in i databas using SQL-serverens BULK MELLANLÄGG eller OPENROWSET (I STORA PARTIER…) eller nytto- bcp. Igen det exampless har jag sett så avlägsna avtal med ett bordlägga i sänder. =>
http://msdn.microsoft.com/en-us/library/ms175915.aspxeller om det finns ett third-party, kodifiera arkivet, som avläser dataseten och skapar sqls och gör uppdateringen, då som är vad du frågar för. I stort ”uppdatera dataseten till databas, utan att använda sqldataadapter”. Jag ska kontrollen, och uppdateringen, om jag finner any sådan, kodifierar.
eller du kan använda annan bearbetar för att exportera xmldata till databasnågot liknande Altova DatabaseSpy, XMLSpy =>
http://www.altova.com/databasespy/database-import-export.htmlFör den grundläggande singeln bordlägga den nedanföra uppdateringen kodifierar arbeten för mig:
DataSetdataSet;
den // dataseten fylls här
använda (SqlConnection anslutning = nya SqlConnection (connectionString
))
{
SqlDataAdapter adapter = nya SqlDataAdapter ();
adapter.SelectCommand = nya SqlCommand (”VALD col1, col2 FRÅN Table1”, anslutning);
SqlCommandBuilder byggmästare = nya SqlCommandBuilder (adapter)
;
anslutning. Öppna ();
builder.GetUpdateCommand ()
;
adapter. Uppdatering (dataSet, tableName);
}
Angående ditt noterar på dataset och anslutning, datasetdoesnot har, eller lageranslutning specificerar. det är dess speciala särdrag (dis-connected natur). Det är SqlDataAdapteren som använder anslutningen. Också jag funderare problemet är samma, huruvida som det är dataseten eller den skrivade dataseten. Skrivad hjälp för dataseten precis du som använder det något liknande en affär, anmärker. Bakomliggande begå taks är samma för båda.
Hoppas detta hjälper att visa dig något lätt.