Siempre para trabajar con bases de datos había trabajado con BD de SQl, hasta hoy que lo estoy haciendo con un archivo mdb por necesidad.
El problema es que consigo conectarme a ella correctamente pero no logro insertar campos en las tablas.
Lo que estoy haciendo es lo siguiente:
Código:
Friend dbConnection As OleDbConnection ' Friend dbDataTable As New Data.DataTable Friend dbDataSet As Data.DataSet Friend dbDataAdapter As OleDbDataAdapter ' Friend CadenaConexion As String Friend CadenaSelect As String ' Friend ArchivoDatos As String Friend NombreTabla As String = "newInsidencias" Friend Sub Conectar(ByVal pNomBd As String, ByVal cmdString As String) If pNomBd = "" Then 'pNomBd = insidencias.lRutaApli pNomBd = "C:\insidencias.mdb" End If ArchivoDatos = pNomBd If ArchivoDatos = "" Then Exit Sub End If CadenaSelect = cmdString If CadenaSelect = "" Then CadenaSelect = "Select * From newInsidencias" End If CadenaConexion = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ArchivoDatos Try dbConnection = New OleDbConnection(CadenaConexion) Catch ex As Exception MsgBox("No se ha podido realizar la conexión a la base de datos") Exit Sub End Try dbConnection.Open() ' dbDataSet = New Data.DataSet() ' dbDataAdapter = New OleDbDataAdapter(CadenaSelect, dbConnection) Dim commandBuilder As New OleDbCommandBuilder(dbDataAdapter) dbDataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey Try dbDataAdapter.Fill(dbDataSet, NombreTabla) Catch ex As Exception MsgBox("Error en Fill: " & vbCrLf & ex.Message) End Try End Sub Friend Sub Insertar(ByVal pCampos As ArrayList) Conectar("", "") Dim cmdInsert As New Data.OleDb.OleDbCommand Dim queEs As Object Dim i As Integer = 0 Dim lCadenaInsert As String = "" lCadenaInsert = "'" & pCampos.Item(i) & "'" For i = 1 To pCampos.Count - 1 queEs = pCampos.Item(i) If TypeOf queEs Is Boolean Then lCadenaInsert = lCadenaInsert & "," & -1 Else lCadenaInsert = lCadenaInsert & ",'" & pCampos.Item(i) & "'" End If Next cmdInsert.CommandText = "INSERT INTO newInsidencias (Aplicacion,Descripcion,Fecha,Nota,Estado) VALUES(" & lCadenaInsert & ")" dbDataAdapter.InsertCommand = cmdInsert dbDataAdapter.Update(dbDataSet, NombreTabla) dbDataSet.AcceptChanges() dbConnection.Close() End Sub
Que estoy haciendo mal?
Saludos y gracias.