No graba los Cambios en la base de datos
Publicado por Diego Garcia (1 intervención) el 04/07/2007 20:30:28
Tengo una aplicación que utiliza una base de datos Sql y en tiempo de ejecución cuando agrego un nuevo registro anda todo bien, pero el registro no es agregado en la base de datos, solo queda en memoria, o sea que cuando cierro la aplicación, el registro nuevo no es guardado en la base de datos.
Mi base de datos es muy simple, consiste de 3 campos: Nombre,Unidad y valor que son strings
les dejo el código de VB.net que tengo para ver en que me equivoco ya que no se que mas hacer ya que he probado con los asistentes que tiene el vb.net y con comandos y el resultado es el mismo, no graba los cambios. Trato de dejar lo mas documentado el código así lo comprenden bien
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
' obtener cadena
Dim ConnectionString As String = My.Settings.BDConnectionString
Dim oCnn As SqlConnection
'Crea Conexion
oCnn = New SqlConnection(ConnectionString)
oCnn.Open()
'Crea Comando
Dim oCmd As New SqlCommand
oCmd.Connection = oCnn
oCmd.CommandType = CommandType.Text
oCmd.CommandText = "Select * From Personal"
'Crea el Dataadapter
Dim oDataAdapter As New SqlDataAdapter(oCmd)
'Crea El DataSet
Dim oDataSet As New DataSet
'Llenamos Dataset
oDataAdapter.Fill(oDataSet, "Personal")
'Creamos Fila En Blanco
Dim oNewRow As DataRow
oNewRow = oDataSet.Tables("Personal").NewRow
'Asignamos Valores a la fila
oNewRow("Nombre") = Nombretxt.Text
oNewRow("Unidad") = UnidadTxt.Text
oNewRow("Valor") = PrecioTxt.Text
'Agregamos la nueva Fila a la coleccion Existente
oDataSet.Tables("Personal").Rows.Add(oNewRow)
'Creamos un CommandBuilder
Dim oCommandBuilder As New SqlCommandBuilder(oDataAdapter)
'Actualizamos el existente con los nuevos Comandos
oDataAdapter = oCommandBuilder.DataAdapter
'Actualizamos la Base de Datos
oDataAdapter.Update(oDataSet.Tables("personal"))
'Cerramos La Base
oCnn.Close()
End Sub
Mi base de datos es muy simple, consiste de 3 campos: Nombre,Unidad y valor que son strings
les dejo el código de VB.net que tengo para ver en que me equivoco ya que no se que mas hacer ya que he probado con los asistentes que tiene el vb.net y con comandos y el resultado es el mismo, no graba los cambios. Trato de dejar lo mas documentado el código así lo comprenden bien
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
' obtener cadena
Dim ConnectionString As String = My.Settings.BDConnectionString
Dim oCnn As SqlConnection
'Crea Conexion
oCnn = New SqlConnection(ConnectionString)
oCnn.Open()
'Crea Comando
Dim oCmd As New SqlCommand
oCmd.Connection = oCnn
oCmd.CommandType = CommandType.Text
oCmd.CommandText = "Select * From Personal"
'Crea el Dataadapter
Dim oDataAdapter As New SqlDataAdapter(oCmd)
'Crea El DataSet
Dim oDataSet As New DataSet
'Llenamos Dataset
oDataAdapter.Fill(oDataSet, "Personal")
'Creamos Fila En Blanco
Dim oNewRow As DataRow
oNewRow = oDataSet.Tables("Personal").NewRow
'Asignamos Valores a la fila
oNewRow("Nombre") = Nombretxt.Text
oNewRow("Unidad") = UnidadTxt.Text
oNewRow("Valor") = PrecioTxt.Text
'Agregamos la nueva Fila a la coleccion Existente
oDataSet.Tables("Personal").Rows.Add(oNewRow)
'Creamos un CommandBuilder
Dim oCommandBuilder As New SqlCommandBuilder(oDataAdapter)
'Actualizamos el existente con los nuevos Comandos
oDataAdapter = oCommandBuilder.DataAdapter
'Actualizamos la Base de Datos
oDataAdapter.Update(oDataSet.Tables("personal"))
'Cerramos La Base
oCnn.Close()
End Sub
Valora esta pregunta


0