Hola ayuda con un programa de vb 2005

Hola mi problema es el siguiente tengo un formulario en cual modifico datos
a la hora de dar click en el botón de modificar datos me sale el siguiente error :
" No coinciden los tipos de datos en la expresión de criterios."
Y mi código es el siguiente
Dim coneccion As OleDbConnection
Dim orden As OleDbCommand
' conecion a la base
coneccion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\ica.mdb")
Dim q2 As String = "update grupos set horario=@horario,profesor=@profesor,materia=@materia,fecha=@fecha,semana=@semana where grupo = " & me.textbox1.text
orden = New OleDbCommand(q2, coneccion)
orden.Parameters.Add(New OleDbParameter("@horario", OleDbType.VarChar, 20))
orden.Parameters("@horario").Value = Me.ComboBox3.SelectedItem.ToString
orden.Parameters.Add(New OleDbParameter("@profesor", OleDbType.VarChar, 20))
orden.Parameters("@profesor").Value = Me.TextBox3.Text
orden.Parameters.Add(New OleDbParameter("@materia", OleDbType.VarChar, 20))
orden.Parameters("@materia").Value = Me.TextBox4.Text
orden.Parameters.Add(New OleDbParameter("@fecha", OleDbType.VarWChar, 20))
orden.Parameters("@fecha").Value = Me.TextBox2.Text
orden.Parameters.Add(New OleDbParameter("@semana", OleDbType.VarChar, 20))
orden.Parameters("@semana").Value = Me.ComboBox1.SelectedItem.ToString
orden.Connection.Open()
orden.ExecuteNonQuery()
orden.Connection.Close()
MessageBox.Show("grupo modificado")
Ya verifique mis parámetros y todos son del mismo tipo
mi tabla se llama grupos y la bd se llama ica
Respuesta
1
Observa esto
Orden. Parameters. Add(New OleDbParameter("@fecha", OleDbType. VarWChar, 20))
orden.Parameters("@fecha").Value = Me.TextBox2.Text

¿Porquea tu campo fecha le mandas un valor texto simplemente, deberías de darle el formato correspondiente, o es que acaso ese campo fecha en tui BD lo tienes como varchar?
Hola mi problema es el siguiente tengo un formulario en cual modifico datos
a la hora de dar click en el botón de modificar datos me sale el siguiente error :
" No coinciden los tipos de datos en la expresión de criterios."
y mi código es el siguiente
Dim coneccion As OleDbConnection
Dim orden As OleDbCommand
' conecion a la base
coneccion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\ica.mdb")
Dim q2 As String = "update grupos set horario=@horario,profesor=@profesor,materia=@materia,fecha=@fecha,semana=@semana where grupo = " & me.textbox1.text
orden = New OleDbCommand(q2, coneccion)
orden.Parameters.Add(New OleDbParameter("@horario", OleDbType.VarChar, 20))
orden.Parameters("@horario").Value = Me.ComboBox3.SelectedItem.ToString
orden.Parameters.Add(New OleDbParameter("@profesor", OleDbType.VarChar, 20))
orden.Parameters("@profesor").Value = Me.TextBox3.Text
orden.Parameters.Add(New OleDbParameter("@materia", OleDbType.VarChar, 20))
orden.Parameters("@materia").Value = Me.TextBox4.Text
orden.Parameters.Add(New OleDbParameter("@fecha", OleDbType.VarWChar, 20))
orden.Parameters("@fecha").Value = Me.TextBox2.Text
orden.Parameters.Add(New OleDbParameter("@semana", OleDbType.VarChar, 20))
orden.Parameters("@semana").Value = Me.ComboBox1.SelectedItem.ToString
orden.Connection.Open()
orden.ExecuteNonQuery()
orden.Connection.Close()
MessageBox.Show("grupo modificado")
Ya verifique mis parámetros y todos son del mismo tipo
mi tabla se llama grupos y la bd se llama ica
Hola mi campo fecha lo tengo de tipo varchar
saludos y gracias
Sabes a mi no me agrada mucho esa forma tuya de programar es mucho código y ocurre esos problemas con los tipos de dato, mira yo opino que deberías de hacerlo de esta forma.
Botón Actualizar
dim ds as dataset
dim da as new OleDbDataadapter("update tabla set campo2='" & textbox2.text & "',campo3='" & textbox3.text & "' where id='" & var_cod & "'",coneccion)
Da. Fill(ds,"upd")

El ejemplo lo use pensando en que todos tus campos son string, si tuvieses alguno entero simplemente quita los apostrofes o comillas simples ( ' ) tanto el de la izquierda como el de la derecha de la caja o variable que tienen el valor numérico.
De echo la conexión y tod o eso ya lo sabes tan solo te di esas lineas para tu botno actualizar.
Hola muchas gracias por tu ayuda me sirvió de mucho y pues lo del código enorme apenas estoy aprendiendo je je es más este programa es un trabajo de la escuela
Saludos y muchas gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas