Visual Basic.NET - No actualiza campo ID en datagrid

   
Vista:

No actualiza campo ID en datagrid

Publicado por Mamila (10 intervenciones) el 27/02/2008 20:58:41
Hola,

tengo problemas para actualizar un datagrid que contiene 3 campos de una tabla de vendedores: id, codigo y nombre

El id es del tipo "identidad" por lo que se autogenera solo al crear nuevos registros en la BD.

El problema es que al agregar un nuevo registro y actualizar la BD, todo funciona bien pero en el datagrid agrega solo los campos de codigo y nombre y en la columna Id deja un (null). En la BD no hay problemas, solo en el datagrid.

Va el codigo para entender menjor el problema

gracias



Dim _connString As String
Dim conn As SqlConnection
Dim adapter As SqlDataAdapter
Dim ds As DataSet

Private Sub InitAdapter()
_connString = "DATA SOURCE=VENTAS; UID=sa; PWD=123456; DATABASE=Personas"
conn = New SqlConnection(_connString)
adapter = New SqlDataAdapter("SELECT id, codigo, nombre FROM vendedores", conn)
ds = New DataSet("ds")
'insertar nuevos datos
Dim insertCommand As New SqlCommand("INSERT INTO vendedores(codigo,nombre) VALUES(@codigo,@nombre)", conn)
Dim paramCodigo As New SqlParameter("@codigo", SqlDbType.NVarChar, 10, "codigo")
Dim paramNombre As New SqlParameter("@nombre", SqlDbType.NVarChar, 100, "nombre")
insertCommand.Parameters.Add(paramCodigo)
insertCommand.Parameters.Add(paramNombre)
adapter.InsertCommand = insertCommand
'actualizar registros modificados
Dim updateCommand As New SqlCommand("UPDATE vendedores SET codigo=@codigo,nombre=@nombre WHERE ( id = @id )", conn)
Dim paramUpdateCodigo As New SqlParameter("@codigo", SqlDbType.NVarChar, 10, "codigo")
Dim paramUpdateNombre As New SqlParameter("@nombre", SqlDbType.NVarChar, 100, "nombre")
Dim paramUpdateId As New SqlParameter("@id", SqlDbType.Int, 4, "id")
paramUpdateId.SourceVersion = DataRowVersion.Original
updateCommand.Parameters.Add(paramUpdateCodigo)
updateCommand.Parameters.Add(paramUpdateNombre)
updateCommand.Parameters.Add(paramUpdateId)
adapter.UpdateCommand = updateCommand
'eliminar registros
Dim deleteCommand As New SqlCommand("DELETE FROM vendedores WHERE (id = @id)", conn)
Dim paramDeleteId As New SqlParameter("@id", SqlDbType.Int, 4, "id")
paramDeleteId.SourceVersion = DataRowVersion.Original
deleteCommand.Parameters.Add(paramDeleteId)
adapter.DeleteCommand = deleteCommand
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
InitAdapter()
Try
adapter.Fill(ds, "vendedores")
Me.DataGrid1.DataSource = ds
Me.DataGrid1.DataMember = "vendedores"
Catch ex As Exception
MessageBox.Show(ex.Message.ToString())
End Try
End Sub

Private Sub AddReg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddReg.Click
'Crea una nueva fila para la tabla y la agrega al dataSet
Dim row As DataRow = ds.Tables("vendedores").NewRow()
row("codigo") = Me.TextBox1.Text.Trim
row("nombre") = Me.TextBox2.Text.Trim
ds.Tables("vendedores").Rows.Add(row)
adapter.Update(ds.Tables("vendedores"))
End Sub
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:No actualiza campo ID en datagrid

Publicado por P. J. (706 intervenciones) el 27/02/2008 21:27:18
Entonces tu problema es solo porque te muestra null???

Tu TITULO es: No actualiza campo ID en datagrid

Yo asumo que quieres darle un UPDATE (cosa que no se puede) a ese campo.

Si es tan solo porque muestra el NULL, pues vuelve a traer los datos desde el SQL, sino oculta esa columna, y si no es un aplicativo en red, puedes poner un acumulador para evitar el NULL.

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

RE:No actualiza campo ID en datagrid

Publicado por Joel (1 intervención) el 04/04/2008 02:56:49
hechale ganas papii...!!!
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