Hice una cierta investigación sobre la tela. Debajo está mi comprensión.
Para poner al día grupo de datos a la base de datos el método típico es utilizar SqlDataAdapter. Pero esto requiere para pasar comandos de sql también, por lo menos declaración SELECTA con SqlCommandBuilder. SqlCommandBuilder se significa otra vez solamente para las actualizaciones de la solo-tabla. El ejemplo en este acoplamiento del msdn demuestra ese =>
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommandbuilder.aspxPara poner al día las multi-tablas, usar el mismo SqlDataAdapter/SqlCommandBuilder
, debe ser adaptador actualizado de la tabla-por-tabla una para cada tabla. Este acoplamiento demuestra ese =>
http://msdn.microsoft.com/en-us/library/4esb49b4(v=VS.80).aspxSi usted tiene solamente pocas tablas a ponerse al día, después diría seguir los métodos arriba. Puesto que el grupo de datos mecanografiado se ha creado de la base de datos su esquema emparejaría la base de datos.
Usted puede importar alternativo directo los datos del xml en base de datos usar el PARTE MOVIBLE A GRANEL u OPENROWSET (el BULTO del servidor del SQL…) o utilidad del bcp. El exampless he visto otra vez hasta ahora repartos con una tabla a la vez. =>
http://msdn.microsoft.com/en-us/library/ms175915.aspxo si hay una biblioteca de tercera persona del código que explora el grupo de datos y crea sqls y hace la actualización, después que es lo que usted está pidiendo. “Poner al día básicamente el grupo de datos a la base de datos sin usar el sqldataadapter”. Comprobaré y me pondré al día si encuentro cualquier código.
o usted puede utilizar otras herramientas para exportar datos del xml a la base de datos como Altova DatabaseSpy, =>
http://www.altova.com/databasespy/database-import-export.html de XMLSpy
Para la sola tabla básica la actualización debajo del código trabaja para mí:
Grupo de datos del grupo de datos;
el grupo de datos de // se llena aquí
el usar (conexión de SqlConnection = nuevo SqlConnection (el connectionString
))
{
Adaptador de SqlDataAdapter = nuevo SqlDataAdapter ();
adapter.SelectCommand = nuevo SqlCommand (“col1 SELECTO, col2 de Table1”, conexión);
Constructor de SqlCommandBuilder = nuevo SqlCommandBuilder (adaptador)
;
conexión. Abrirse ();
builder.GetUpdateCommand ()
;
adaptador. Actualización (grupo de datos, tableName);
}
Con respecto a sus notas sobre grupo de datos y la conexión, el doesnot del grupo de datos tiene o los detalles de la conexión del almacén. ésa es su característica especial (naturaleza dis-connected). Es el SqlDataAdapter que utiliza la conexión. También pienso que el problema es igual si es grupo de datos o grupo de datos mecanografiado. El grupo de datos mecanografiado apenas le ayuda a utilizarlo tiene gusto de un objeto del negocio. El ser la base confía taks es igual para ambos.
Esperar que esto ayude a demostrarle una cierta luz.