Actualizar base de datos desde conjunto de datos
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"];
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"];
El problama está en que no hay declarado un campo como primary key en la BD, Saludos
Muchisimas gracias , ya me estaba volviendo loco por sacarle una solucion al problema estee , enserio mil gracias xD quien me iva a decir que era simplemente poner un indice en la DB. un aplauso xD 2005 ufff me doy verguenza xD
