C sharp - Actualizar base de datos desde conjunto de datos

 
Vista:

Actualizar base de datos desde conjunto de datos

Publicado por koldo (1 intervención) el 07/02/2005 17:45:36
Despues de actualizar un campo en un conjunto de datos, quiero que
se actualice en el origen de datos o base de datos original.

He utilizado este ejemplo segun la ayuda de MSDN, pero no funciona.
Me dice lo siguiente:
"La generación SQL dinámica para UpdateCommand no es compatible con
SelectCommand, que no devuelve ninguna información sobre columnas clave."

Si utilizo OleDb sí me funciona el ejemplo pero con Sql Server no
me funciona.

Alguien sabe dónde está el error?

Gracias

SqlConnection conn = new SqlConnection("Persist Security Info=False;"+
"Integrated Security=SSPI;database=mibase;server=localhost");

string sql="select numero, nombre, ciudad, cantidad from clientes";
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand= new SqlCommand(sql,conn);
SqlCommandBuilder cb = new SqlCommandBuilder(da);

DataSet ds = new DataSet();
da.Fill(ds, "clientes");

//Modificacion de un campo:
ds.Tables["clientes"].Rows[0]["nombre"]="Maite2";

da.Update(ds.Tables["clientes"]);

dataGrid1.DataSource=ds.Tables["clientes"];
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Actualizar base de datos desde conjunto de dato

Publicado por Darkangel (9 intervenciones) el 08/02/2005 01:28:47
primero imagino q tienes el mismo codigo en OleDb y en Sql, una posible causa seria q en la base de datos OleDb tienes q ese campo o el anterior se actualizen en cascada, y en la de SLQ no.
revisa lo anterior sino dime mas o menos lo q quieres hacer talvez asi tengo una idea mas clara q es lo q hace al codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Actualizar base de datos desde conjunto de dato

Publicado por Allende (2 intervenciones) el 08/08/2006 18:28:49
Hola, el problema debe estar en que el CommandBuilder tiene algunas restricciones para su uso, una de ellas es que el select debe incluir un campo llave.

salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar