Muy buenas, hamijos míos. No sé si esto irá en este subforo, pero supongo que sí.
Pues resulta que estoy haciendo el proyecto final de DAI, una aplicación de un restaurante, y estoy atascado en la parte de añadir un nuevo usuario a la base de datos.
Pongo el poblema: Primero me conecto a la base de datos y lleno el dataset con lo que hay en la tabla "Camareros":
'Creamos el adaptador
Me.oDataAdapter = New OleDbDataAdapter("SELECT * FROM Camareros", oConexion)
'Creamos el commandbuilder
Dim oCommBuild As OleDbCommandBuilder = New OleDbCommandBuilder(oDataAdapter)
'Creamos el dataset
Me.oDataSet = New DataSet()
'Nos conectamos a la BD
oConexion.Open()
'Llenamos el dataset con el adaptador
Me.oDataAdapter.Fill(oDataSet, "Camareros")
'Nos desconectamos de la BD
oConexion.Close()
Luego le meto los datos del nuevo camarero y su password, y le doy al botón de Agregar:
'Procedemos a dar de alta un nuevo usuario. Para ello, primero declaramos un nuevo DataRow
Dim oDataRow As DataRow
'Obtenemos un nuevo objeto fila de la tabla del dataset
oDataRow = Me.oDataSet.Tables("Camareros").NewRow()
'Asignamos los valores a los campos de la nueva fila
oDataRow("Nombre") = txtnombre.Text
oDataRow("Password") = txtpassword.Text
'Añadimos el objeto fila a la colección de filas de la tabla del dataset
Me.oDataSet.Tables("Camareros").Rows.Add(oDataRow)
'Actualizamos los cambios realizados en el dataset contra la base de datos real
Me.oDataAdapter.Update(oDataSet, "Camareros")
'Mostramos un mensaje de confirmación
MessageBox.Show("Nuevo usuario introducido correctamente: " & oDataRow("Nombre"), "Operación realizada")
Bien, pues en esta línea me da error:
'Actualizamos los cambios realizados en el dataset contra la base de datos real
Me.oDataAdapter.Update(oDataSet, "Camareros")
Me da la siguiente excepción:
No se controló OleDbException
Error de sintaxis en la instrucción INSERT INTO.
Probablemente sea una tontería, pero llevo ya un buen rato intentando solucionarlo y no hay manera. A ver si alguno me podéis ayudar.
Muchas gracias por adelantado.