Título: ¿como corregir el error oledbexception? Publicado por: pseudostark en 5 Octubre 2015, 03:10 am Disculpen tengo el error:
"No se controló OleDbException. No se han especificado valores para algunos de los parámetros requeridos." En el siguiente código: Imports System.Data.OleDb 'permite el manejo de base de datos a access Public Class FormModificar Private Sub FormModificar_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Private Sub Interface_Entrada() 'SE EJECUTA CUANDO SE CARGA EL FORMULARIO 'HABILITADO Lab_IDContacto.Enabled = True Text_IdContacto.Enabled = True Cmb_Buscar.Enabled = True 'DESHABILITADOS Lab_Nombre.Enabled = False Text_Nombre.Enabled = False Lab_ApePat.Enabled = False Text_ApePat.Enabled = False Lab_ApeMat.Enabled = False Text_ApeMat.Enabled = False Lab_Puesto.Enabled = False Text_Puesto.Enabled = False Lab_Empresa.Enabled = False Text_Empresa.Enabled = False Lab_Area.Enabled = False Text_Area.Enabled = False Lab_Correo.Enabled = False Text_Correo.Enabled = False Lab_TelOfi.Enabled = False Text_TelOfi.Enabled = False Lab_Ext.Enabled = False Text_Extension.Enabled = False Lab_Celular.Enabled = False Text_Celular.Enabled = False Cmb_Guardar.Enabled = False End Sub Private Sub Interface_Datos() 'SE EJECUTA CUANDO SE CARGA EL FORMULARIO 'DESHABILITADO Lab_IDContacto.Enabled = False Text_IdContacto.Enabled = False Cmb_Buscar.Enabled = False 'HABILITADOS Lab_Nombre.Enabled = True Text_Nombre.Enabled = True Lab_ApePat.Enabled = True Text_ApePat.Enabled = True Lab_ApeMat.Enabled = True Text_ApeMat.Enabled = True Lab_Puesto.Enabled = True Text_Puesto.Enabled = True Lab_Empresa.Enabled = True Text_Empresa.Enabled = True Lab_Area.Enabled = True Text_Area.Enabled = True Lab_Correo.Enabled = True Text_Correo.Enabled = True Lab_TelOfi.Enabled = True Text_TelOfi.Enabled = True Lab_Ext.Enabled = True Text_Extension.Enabled = True Lab_Celular.Enabled = True Text_Celular.Enabled = True Cmb_Guardar.Enabled = True End Sub Function Buscar_Registro(ByVal xId As String) As Boolean '1. CONVERTIR CADENA EN NUMERO Dim id As String id = xId '2. CONEXION Dim Conexion As New OleDbConnection Conexion.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\\Users\\Andres\\Documents\\Proyecto Contactos\\Contactos\\Contactos\\bin\\Debug\\Contactos.mdb; Persist Security Info = False" '3. CADENA SQL Dim CadenaSql As String = "SELECT * FROM Contacto WHERE idContacto= '" & id & "'" '" SELECT * FROM Contacto WHERE idContacto = " & id '4.ADAPTADOR Dim Adaptador As New OleDbDataAdapter(CadenaSql, Conexion) '5. DATA SET Dim Ds As New DataSet '6.LLENAR DATA SET Conexion.Open() 'Abre la conexion con BD Adaptador.Fill(Ds) 'El adaptador llena con datos al dataset Conexion.Close() '7. CONTAR REGISTRO If (Ds.Tables(0).Rows.Count = 0) Then 'NO ENCONTRO EL REGISTRO Return False Else 'SI ENCONTRO EL REGISTRO 'CARGAR LOS TEXTBOX DEL FORMULARIO CON LA INFORMACION DEL REGISTRO ENCONTRADO Text_Nombre.Text = Ds.Tables(0).Rows(0)("Nombre").ToString() Text_ApePat.Text = Ds.Tables(0).Rows(0)("ApePat").ToString() Text_ApeMat.Text = Ds.Tables(0).Rows(0)("ApeMat").ToString() Text_Puesto.Text = Ds.Tables(0).Rows(0)("Puesto").ToString() Text_Empresa.Text = Ds.Tables(0).Rows(0)("Empresa").ToString() Text_Area.Text = Ds.Tables(0).Rows(0)("Area").ToString() Text_Correo.Text = Ds.Tables(0).Rows(0)("Correo").ToString() Text_TelOfi.Text = Ds.Tables(0).Rows(0)("TelOficina").ToString() Text_Extension.Text = Ds.Tables(0).Rows(0)("ExtOficina").ToString() Text_Celular.Text = Ds.Tables(0).Rows(0)("TelCelular").ToString() Ds.Dispose() 'MOSTRAR LOS DATOS Return True End If End Function Function Modificar_Registro(ByVal idContacto As String, ByVal Nombre As String, ByVal ApPaterno As String, ByVal ApMaterno As String, ByVal Puesto As String, ByVal Empresa As String, ByVal Area As String, ByVal Correo As String, ByVal TelOfi As String, ByVal Ext As String, ByVal TelCel As String) 'Convertir Dim CodContacto As String = idContacto Dim NombreContacto As String = Nombre Dim APContacto As String = ApPaterno Dim AMContacto As String = ApMaterno Dim PuestoContacto As String = Puesto Dim EmpresaContacto As String = Empresa Dim AreaContacto As String = Area Dim CorreoContacto As String = Correo Dim TOContacto As String = TelOfi Dim ExtContacto As String = Ext Dim TCContacto As String = TelCel 'Conexion Dim Conexion As New OleDbConnection Conexion.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\\Users\\Andres\\Documents\\Proyecto Contactos\\Contactos\\Contactos\\bin\\Debug\\Contactos.mdb; Persist Security Info = False" 'Intruccion SQL Dim CadSQL As String = " UPDATE Contacto SET " CadSQL = CadSQL + " Nombre = '" & NombreContacto & "'," CadSQL = CadSQL + " ApePat = '" & APContacto & "'," CadSQL = CadSQL + " ApeMat= '" & AMContacto & "'," CadSQL = CadSQL + " Puesto = '" & PuestoContacto & "'," CadSQL = CadSQL + " Correo = '" & CorreoContacto & "'," CadSQL = CadSQL + " TelOficina = '" & TOContacto & "'," CadSQL = CadSQL + " ExtOficina = '" & ExtContacto & "'," CadSQL = CadSQL + " TelCelular = '" & TCContacto & "'," CadSQL = CadSQL + " Empresa = '" & EmpresaContacto & "'," CadSQL = CadSQL + " Area = " & AreaContacto & "" CadSQL = CadSQL + " WHERE idContacto = " & CodContacto 'Crear un Comando Dim Comando As OleDbCommand = Conexion.CreateCommand() Comando.CommandText = CadSQL 'Ejecutar la consulta de accion Conexion.Open() Comando.ExecuteNonQuery() Conexion.Close() Return True End Function Private Sub Cmb_Buscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmb_Buscar.Click If Buscar_Registro(Text_IdContacto.Text) = False Then 'ENVIAR MENSAJE QUE EL REGISTRO YA EXISTE MessageBox.Show("El registro no existe.") Text_IdContacto.Focus() Else Interface_Datos() Text_Nombre.Focus() 'Limpiar_Formulario() 'LLAMA AL METODO PARA LIMPIAR FORMULARIO End If End Sub Private Sub Cmb_Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmb_Guardar.Click Modificar_Registro(Text_IdContacto.Text, Text_Nombre.Text, Text_ApePat.Text, Text_ApeMat.Text, Text_Puesto.Text, Text_Empresa.Text, Text_Area.Text, Text_Correo.Text, Text_TelOfi.Text, Text_Extension.Text, Text_Celular.Text) 'Funcion que modifica datos de contacto en la base de datos Interface_Entrada() 'PREPARA EL FORMULARIO PARA INGRESAR UN NUEVO REGISTRO Text_IdContacto.Focus() 'ENVIA EL FOCO AL ID DEL CONTACTO Limpiar_Formulario() 'LLAMA AL METODO PARA LIMPIAR FORMULARIO End Sub Private Sub Limpiar_Formulario() 'LIMPIA LOS TEXTBOX DEL FORMULARIO Text_Nombre.Clear() Text_ApePat.Clear() Text_ApeMat.Clear() Text_Puesto.Clear() Text_Empresa.Clear() Text_Area.Clear() Text_Correo.Clear() Text_TelOfi.Clear() Text_Extension.Clear() Text_Celular.Clear() End Sub Private Sub Cmb_Cancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmb_Cancelar.Click Me.Close() End Sub End Class ¿Alguien me podría ayudar? Por favor. |