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

Código de una base de datos

Estas en el tema de Código de una base de datos en el foro de .NET en Foros del Web. Aca esta el código Imports System.Data.SqlClient Public Class Form1 Private oDataAdapter As SqlDataAdapter Private iDataAdapter As SqlDataAdapter Private oDataRow As DataRow Private oConexion As SqlConnection ...
  #1 (permalink)  
Antiguo 05/10/2006, 13:36
(Desactivado)
 
Fecha de Ingreso: julio-2006
Mensajes: 273
Antigüedad: 18 años, 7 meses
Puntos: 5
Pregunta Código de una base de datos

Aca esta el código

Imports System.Data.SqlClient

Public Class Form1

Private oDataAdapter As SqlDataAdapter
Private iDataAdapter As SqlDataAdapter
Private oDataRow As DataRow

Private oConexion As SqlConnection
Private oDataSet As DataSet
Private IPosFilaActual As Integer



Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

oConexion = New SqlConnection()
oConexion.ConnectionString = "Server=(local);Database=Inventario;uid=sa;pwd =;"

'Crea adaptador
Me.oDataAdapter = New SqlDataAdapter("SELECT *FROM Libros", oConexion)
'Crear commadnbuilder
Dim oCommBuild As SqlCommandBuilder = New SqlCommandBuilder(oDataAdapter)

'Crea el dataset
Me.oDataSet = New DataSet()

oConexion.Open()
Me.oDataAdapter.Fill(oDataSet, "Libros")
oConexion.Close()

Me.IPosFilaActual = 0
Me.CargaDatos()
End Sub

Private Sub CargaDatos()
oDataRow = Me.oDataSet.Tables("Libros").Rows(Me.IPosFilaActua l)

Me.txtCodigoN.Text = oDataRow("Código")
Me.txtTituloN.Text = oDataRow("Titulo")
Me.txtAutorN.Text = oDataRow("Autor")
Me.txtEditorialN.Text = oDataRow("Editorial")
Me.txtEdicionN.Text = oDataRow("Edición")

Me.txtAñoN.Text = oDataRow("Año")
Me.txtCategoriaN.Text = oDataRow("Categoria")
Me.txtNivelN.Text = oDataRow("Nivel")
Me.txtPrecioN.Text = oDataRow("Precio")
Me.txtExistenciasN.Text = oDataRow("Existencias")

Me.lblRegistro.Text = "Registro: " & _
Me.IPosFilaActual + 1 & " de " & _
Me.oDataSet.Tables("Libros").Rows.Count

Me.grdDatos.DataSource = oDataSet
Me.grdDatos.DataMember = "Libros"
End Sub

Private Sub btnPrimero_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrimero.Click
Me.IPosFilaActual = 0
Me.CargaDatos()
End Sub

Private Sub btnAnterior_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnterior.Click
If Me.IPosFilaActual = 0 Then
MsgBox("PRIMER REGISTRO")
Else
Me.IPosFilaActual -= 1
Me.CargaDatos()
End If
End Sub

Private Sub btnSiguiente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSiguiente.Click
If Me.IPosFilaActual = (Me.oDataSet.Tables("Libros").Rows.Count - 1) Then
MsgBox("ULTIMO REGISTRO")
Else
Me.IPosFilaActual += 1
Me.CargaDatos()
End If
End Sub

Private Sub btnFin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFin.Click
Me.IPosFilaActual = (Me.oDataSet.Tables("Libros").Rows.Count - 1)
Me.CargaDatos()
End Sub

Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEliminar.Click
oDataRow.Delete()
Actualizar()
End Sub

Private Sub Actualizar()
oDataAdapter.Update(oDataSet, "Libros")
oDataSet.AcceptChanges()
End Sub
End Class

me dá error en actualizar. PORQUE?
  #2 (permalink)  
Antiguo 05/10/2006, 13:52
 
Fecha de Ingreso: octubre-2006
Mensajes: 23
Antigüedad: 18 años, 5 meses
Puntos: 1
postea el error que te da

Suerte

Enermedia
  #3 (permalink)  
Antiguo 05/10/2006, 15:02
(Desactivado)
 
Fecha de Ingreso: julio-2006
Mensajes: 273
Antigüedad: 18 años, 7 meses
Puntos: 5
Pregunta Este es el error que me dice:

Dynamic SQL generation for the DeleteCommand is not supported against a SelectCommand that does not return any key column information.



no se que puedo hacer.

Private Sub Actualizar()
oDataAdapter.Update(oDataSet, "Libros")
oDataSet.AcceptChanges()
End Sub
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 18:15.