Foros del Web » Programación para mayores de 30 ;) » .NET »

Data adapter + command builder

Estas en el tema de Data adapter + command builder en el foro de .NET en Foros del Web. hola. tengo el siguiente codigo que utiliza un commandbuilder. Código: Imports System.Data.OleDb Public Class Form1 Inherits System.Windows.Forms.Form Public adtiendas As OleDbDataAdapter Dim cb As OleDbCommandBuilder ...
  #1 (permalink)  
Antiguo 08/11/2005, 10:59
Avatar de wizito  
Fecha de Ingreso: enero-2002
Ubicación: Argentina
Mensajes: 123
Antigüedad: 22 años, 3 meses
Puntos: 0
Data adapter + command builder

hola.
tengo el siguiente codigo que utiliza un commandbuilder.

Código:
 
Imports System.Data.OleDb
Public Class Form1
 Inherits System.Windows.Forms.Form
 Public adtiendas As OleDbDataAdapter
 Dim cb As OleDbCommandBuilder
 Public ds As New DataSet

 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 Dim comand As String
 Dim pkey(0) As DataColumn

        comand = "SELECT stor_id,stor_name,stor_address,city,state,zip FROM stores"

        adtiendas = New OleDbDataAdapter(comand, con1)

        adtiendas.Fill(ds, "stores")

        pkey(0) = ds.Tables("stores").Columns("au_id")
        ds.Tables("stores").PrimaryKey() = pkey

        cb = New OleDbCommandBuilder(adtiendas)

        DataGrid1.DataSource = ds.Tables("stores")
 End Sub
 
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
adtiendas.Update(ds, "stores")'error
        ds.Tables("stores").AcceptChanges()
EndSub
 
en esta linea me dice que el comando dinamico select sql no puede especificar un comando update ya que no le pasa ninguna referencia al campo clave.

gracias.saludos
  #2 (permalink)  
Antiguo 08/11/2005, 13:50
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Necesitas tener un campo primary key (ejm: recuperándolo dentro del select) para que se pueda generar correctamente el UpdateCommand.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 09/11/2005, 06:27
Avatar de wizito  
Fecha de Ingreso: enero-2002
Ubicación: Argentina
Mensajes: 123
Antigüedad: 22 años, 3 meses
Puntos: 0
entonces para que commandbuilder pueda generar las demas consultas, la base de datos debe poseer sus correspondientes claves primarias ?

en mi caso "stor_id" debe estar marcado como clave.

corregime si me equivoco.gracias
saludos.
  #4 (permalink)  
Antiguo 09/11/2005, 06:41
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Hola wizito,
Exactamente, si ese es el campo clave de la tabla, deberias marcarlo en la tabla como tal, para que el commandbuilder pueda generar los demas comandos.
Por otro lado comentarte que estás creando una clave primaria en el dataset, sobre el campo "au_id", que no has metido en la select...

Saludos.
__________________
..:: moNTeZIon ::..
  #5 (permalink)  
Antiguo 09/11/2005, 06:54
Avatar de wizito  
Fecha de Ingreso: enero-2002
Ubicación: Argentina
Mensajes: 123
Antigüedad: 22 años, 3 meses
Puntos: 0
hola montezion

gracias por contestar.
si me confundi de campo.voy a modificar eso y la base de datos
muchas gracias.
saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:46.