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

Error al insertar un nuevo registro con un dataset

Estas en el tema de Error al insertar un nuevo registro con un dataset en el foro de .NET en Foros del Web. Hola amigos, Tengo el siguiente problema. Estoy insertando un nuevo registro con un dataset en Visual Basic.Net 2005 en una base de datos access la ...
  #1 (permalink)  
Antiguo 16/08/2008, 13:04
 
Fecha de Ingreso: agosto-2008
Mensajes: 101
Antigüedad: 15 años, 9 meses
Puntos: 1
Error al insertar un nuevo registro con un dataset

Hola amigos,
Tengo el siguiente problema.

Estoy insertando un nuevo registro con un dataset en Visual Basic.Net 2005 en una base de datos access la tabla donde se insertara el nuevo registro se llama "Clientes".

A continuacion les muestro el codigo al presionar el boton Guardar del formularion:

' Declaramos un objeto DataRow para
' insertar en él los nuevos datos
Dim MiDataRow As Data.DataRow
' Creamos una nueva fila en el DataSet
MiDataRow = DataSet1.Tables("Clientes").NewRow()

'Insertamos los datos en el DataSet
'El nombre que se encuentra dentro de ("") son los campos de la tabla Clientes
MiDataRow("doc") = "CC"
MiDataRow("Idcliente") = TxtId_cliente.Text
MiDataRow("Nombre") = TxtNombre.Text
MiDataRow("Apellidos") = TxtApellidos.Text
MiDataRow("Telefono") = TxtTelefono.Text
MiDataRow("Celular") = TxtCelular.Text
MiDataRow("Direccion") = TxtDireccion.Text
MiDataRow("Codciudad") = CInt(TxtCod_ciudad.Text)
MiDataRow("Email") = TxtEmail.Text
MiDataRow("Estado") = TxtEstado.Text
DataSet1.Tables("Clientes").Rows.Add(MiDataRow)

' Si el DataSet tiene cambios ?
If DataSet1.HasChanges Then

OleDbCommand1.CommandText = "INSERT INTO Clientes(doc, Idcliente, Nombre, Apellidos, Telefono, Celular, Direccion, Codciudad, Email, Estado) VALUES(@doc, @Idcliente, @Nombre, @Apellidos, @Telefono, @Celular, @Direccion, @Codciudad, @Email, @Estado)"

OleDbCommand1.Connection = OleDbConnection1
OleDbDataAdapter1.InsertCommand = OleDbCommand1

' Añadimos los parámetros y comandos correspondientes
' para cada campo a añadir en la base de datos
OleDbCommand1.Parameters.Add("@doc", OleDb.OleDbType.Char, 10)
OleDbCommand1.Parameters.Add("@Idcliente", OleDb.OleDbType.Char, 15)
OleDbCommand1.Parameters.Add("@Nombre", OleDb.OleDbType.Char, 30)
OleDbCommand1.Parameters.Add("@Apellidos", OleDb.OleDbType.Char, 30)
OleDbCommand1.Parameters.Add("@Telefono", OleDb.OleDbType.Char)
OleDbCommand1.Parameters.Add("@Celular", OleDb.OleDbType.Char)
OleDbCommand1.Parameters.Add("@Direccion", OleDb.OleDbType.Char, 50)
OleDbCommand1.Parameters.Add("@Codciudad", OleDb.OleDbType.Numeric)
OleDbCommand1.Parameters.Add("@Email", OleDb.OleDbType.Char, 30)
OleDbCommand1.Parameters.Add("@Estado", OleDb.OleDbType.Char, 10)

' Abrimos la Conexión
OleDbConnection1.Open()
' Realizamos la inserción de datos desde el DataSet
' a través del DataAdapter
OleDbDataAdapter1.Update(DataSet1, "Clientes")
' Cerramos la conexión
OleDbConnection1.Close()
' Indicamos con un mensaje que la inserción
' de datos se ha realizado con éxito
MessageBox.Show("Datos insertados correctamente")
End If

Este el es errro que me saca visual studio cuando presiono el boton guardar
dice:
No se controlo OleDbException
El parámetro @doc no tiene un valor predeterminado.


El campo doc de la tabla clientes lo tengo definifo en acces como tipo Texto de longitu 10.
le puse un valor predeterminado en access pero me sigue mostrando este errror


Les pido su colaboracion por favor que me ayude a identificar y corregir el error
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 10:14.