• Lunes 23 de Diciembre de 2024, 01:51

Autor Tema:  DbCommandBuilder  (Leído 1999 veces)

MArio85

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
DbCommandBuilder
« en: Martes 30 de Junio de 2009, 23:08 »
0
Hola Alguien sabe alguna pagina o articulo completo donde pueda ver la teoria la practica y la aplicacion de esta clase? encuentro informacion muy ambigua que no me dice mucho: Tengo el siguiente codigo:

Código: C
  1.  
  2.  
  3.             OdbcConnection Conexion = new ('Cadena de Conexion');
  4.             OdbcDataAdapter Data = new OdbcDataAdapter('SELECT * FROM Tabla1',Conexion);
  5.             OdbcCommandBuilder Builder = new OdbcCommandBuilder(Data);
  6.             Data.DeleteCommand = new OdbcCommand(Builder.GetDeleteCommand(true).CommandText);
  7.             Data.InsertCommand = new OdbcCommand(Builder.GetInsertCommand(true).CommandText);
  8.             Data.UpdateCommand = new OdbcCommand(Builder.GetUpdateCommand(true).CommandText);
  9.             Data.Update('Tabla'); // Le digo de que tabla quiero que tome los datos para modificar la BD
  10.  
  11.  

Me arroja un error en el metodo GetDeleteCommand(true) del OdbcCommandBuilder, el erro es:
"La generación SQL dinámica para DeleteCommand no es compatible con SelectCommand, que no devuelve ninguna información sobre columnas clave."

Como prueba cambie de orden la delcaracion de los comandos del Dataadapter y me di cuenta que me da error para el DeleteCommand y el UpdateCommand, Para el Insertcommmand no me arroja error.

No estoy muy familiarizado con esta clase y supongo que el error es algo obvio pero no se como puedo hacerlo funcionar.

Agradezco alguna breve explicacion o un articulo completo de donde aprender.

Saludos

MArio85

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Re: DbCommandBuilder
« Respuesta #1 en: Martes 30 de Junio de 2009, 23:22 »
0
Para complementar el post la instruccion SQL es en realidad esta:    'SELECT * FROM Tabla1 WHERE Clve = ' + variable

Comento esto por que no se si al tener condicion WHERE en la consulta cambie algo del funcionamiento del commandbuilder

Saludos