Problema al actualizar BD desde DataSet

20/04/2005 - 17:10 por trinity.9bi | Informe spam
Hola,
he estado revisando los posts del grupo y he visto un mensaje con
(creo) el mismo titulo, pero no me ha resuelto la duda.

El caso es que creo que tengo todo puesto pero no consigo que se
actualice la base de datos con los cambios del DataSet. Lo que intento
hacer es lo siguiente:
En el DataSet "datos" tengo una tabla (obtenida con un simple "Select
*"). Como el Fill del DataSet no te crea claves, le pongo yo una
clave. Y una vez especificada la clave busco un par de registros y les
cambio el contenido. Con el DataSet ya modificado intento actualizar
la BD y es cuando no me funciona.

El codigo viene a ser:
//INICIO DE CODIGO
DataColumn [] clave = new DataColumn[1];
clave[0] = datos.Tables["Talleres"].Columns["IDTaller"];
datos.Tables["Talleres"].PrimaryKey = clave;

DataRow filaCambio = datos.Tables["Talleres"].Rows.Find("175");
filaCambio["Descripción"] = "Esto es un taller";

filaCambio = datos.Tables["Talleres"].Rows.Find("176");
filaCambio["Descripción"] = "Esto es otro taller";

int retorno = adaptador.Update(datos);
txtInformacion.Text = "Numero de filas actualizadas: " + retorno;
//FIN DE CODIGO

Y claro, el valor de "retorno" es cero.
He leido por ahi que hay que rellenar el UpdateCommand del Adapter,
pero no entiendo como hay que llenarlo. Si lo lleno con una sentencia
Update, entonces me puede afectar a varias filas que no deseo, y no
tengo forma de actualizar las filas tal y como lo hago a mano en el
DataSet.

Por favor, ¿alguien que me resuelva el problema?

Preguntas similare

Leer las respuestas

#6 trinity.9bi
25/04/2005 - 13:15 | Informe spam
Entonces con ponerle al Adapter la sentencia update que comentas mas
arriba bastaria para poder hacer las updates.

¿Y el SQLCommandBuilder que utiilidad tiene entonces?

Por cierto, lo del AddWithKey es una propiedad del Schema de la tabla
que cargas en el Dataset. Aunque aun no he hecho pruebas con ella
supongo que antes de hacer el Fill de la tabla X en el dataset habra
que cargar el Schema diciendole que lo haga con clave (es decir,
usando el addwithkeys). Si alguien me puede confirmar esto seria
estupendo.

Gracias.

Braulio Diez wrote in message news:...
Mostrar la cita
#7 Braulio Diez
26/04/2005 - 10:26 | Informe spam
Hola,

El AddwithKey hace que te cargue el daraset identificando la clave
primaria de forma automática (de hecho otra cosa muy interesante es que
puedes crear DataSets tipados con lo que puedes acceder a los campos de las
filas como si fuera un propiedad, eso te ahorra un montón de errores).

Aquí tienes un link que te explica como hacer el update usando los comandos:

(Inside ADO.NET Batch Update)

http://msdn.microsoft.com/library/d...082001.asp


y otro en Español

http://www.elguille.info/NET/ADONET/ejemploSQL.htm


Yo también me quede así cuando leí que teniendo la clave primaria ya
cargada podías actualizarlo directamente, siempre había utilizado la vía de
especificarle los metodos para actualizar, borrar..., también lo que pasa es
que puedes crearte datatables que no represente exactamente a una tabla de la
base de datos con lo que los update/insert... te los tienes que hacer tu.

Esto de ADO .net está muy bien, el problema es que conseguir un buen libro
sobre el tema no es fácil ya que la mayoría se hicieron cuando salió la Beta
2 de Visual studio 2002 y a la buya, pero es muy muy potente

Saludos
Braulio

"EAmez" wrote:

Mostrar la cita
Ads by Google
Search Busqueda sugerida