Visual Basic - No se actualiza los datos ado.net

Life is soft - evento anual de software empresarial
 
Vista:

No se actualiza los datos ado.net

Publicado por Antonio (1 intervención) el 16/04/2007 02:25:14
Tengo una rutina para guardar datos en una base de datos de accsses, el caso es que no marca ningun error pero no me guarda los datos, el codico es el siguiente:

Sub GuardarRegistro(ByVal szBaseDatos As String, ByVal szSQL As String, ByVal ParamArray szDatos() As String)
'Declaracion de variables
Dim CadenaSelect As String 'Cadena del filtro SQL
Dim szCNN As String 'cadena de coneccion
Dim dbConnection As Data.OleDb.OleDbConnection
Dim dbDataSet As Data.DataSet
Dim dbDataAdapter As Data.OleDb.OleDbDataAdapter
Dim szTabla As String = "Tabla1"

If szBaseDatos = "" Then Exit Sub
If szSQL = "" Then Exit Sub
CadenaSelect = szSQL
szCNN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & szBaseDatos
Try
dbConnection = New Data.OleDb.OleDbConnection(szCNN)
Catch e As Exception
MessageBox.Show("Error al crear la conexión:" & vbCrLf & e.Message)
Exit Sub
End Try
dbConnection.Open()
'
dbDataSet = New Data.DataSet()
'
dbDataAdapter = New Data.OleDb.OleDbDataAdapter(CadenaSelect, dbConnection)
'
Dim commandBuilder As New Data.OleDb.OleDbCommandBuilder(dbDataAdapter)
'
dbDataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
dbDataAdapter.Fill(dbDataSet, szTabla)
'*****************************************************************************************
'******HASTA AQUI LO QUE RESPECTA A LA CONECCION
'*****************************************************************************************
' Añadir una nueva fila (o registro)
Dim fila As Data.DataRow
Dim i As Integer
'Dim lwItem As ListViewItem
Dim columna As Data.DataColumn
'
fila = dbDataSet.Tables(szTabla).NewRow
fila.BeginEdit()
For i = 0 To dbDataSet.Tables(szTabla).Columns.Count - 1
columna = dbDataSet.Tables(szTabla).Columns(i)
'Debug.WriteLine(columna.DataType.ToString)
If columna.AutoIncrement = False Then
Select Case columna.DataType.ToString
Case "System.String"
fila(i) = CStr(szDatos(i))
Case "System.Boolean"
fila(i) = CBool(szDatos(i))
Case "System.Byte", "System.SByte"
fila(i) = CByte(szDatos(i))
Case "System.Char"
fila(i) = " "c
Case "System.DateTime", "System.TimeSpam"
fila(i) = CDate(szDatos(i))
Case "System.Decimal", "System.Double", "System.Single"
fila(i) = CDate(szDatos(i))
Case Else
'Case "System.Int32","System.UInt32"
' fila(i) = 0
If columna.DataType.ToString.IndexOf("System.Int") > -1 Then
fila(i) = 0
ElseIf columna.DataType.ToString.IndexOf("System.UInt") > -1 Then
fila(i) = 0
End If
End Select
End If
Next
fila.EndEdit()
' Añadir la fila a la tabla
dbDataSet.Tables(szTabla).Rows.Add(fila)
dbDataSet.Tables(szTabla).AcceptChanges()
'
' Mostrar la nueva fila en el ListView
'

dbConnection = Nothing
dbDataSet = Nothing
dbDataAdapter = Nothing
fila = Nothing
End Sub

Alguien tiene una idea de como se hace, la verdad ya busque mucho que ganas me estan dando de regresarme y usar DAO. Muchas gracias
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