Versión Completa : Error al iniciar consulta SQL con Visual Basic
-thor-
mayo 9, 2007, 02:04
Siempre que quiero mostrar el resultado de mi consulta sql,me arroja este error:
"variable de tipo object o la variable de bloque With no esta establecida"
Sorry por la pregunta,pero soy principiante en visual basic,como puedo solucionar el error?
gracias
uso mysql
visual basic 6.0
Este codigo lo declaro en la parte de general
Public Rs As ADODB.Recordset
Public con As Connection
Function conexion()
Set con = New ADODB.Connection
con.ConnectionString = "driver={MySQL ODBC 3.51 Driver};server=localhost;uid=root;pwd=;database=pr ueba;connection="
con.Open
End Function
Este boton lo quiero utilizar para mostrar los valores en los text
Private Sub Command1_Click()
conectar = conexion()
Rs.Open "select * from probando", con, adOpenStatic, adLockOptimistic
Text1.Text = Rs.Fields("codigo")
Text2.Text = Rs.Fields("nombre")
End Sub
esta linea me marca el compilador,cuando arroja el error
Rs.Open "select * from probando", con
Tael Yang
mayo 10, 2007, 07:54
viejo asi como a la coneccion le tenes que dar "Set con = New ADODB.Connection"
igual debes hacer con el recordset "set Rs = new ADODB.Recordset"
o cuando los declare hagalo con el new de una vez, asi
"Public Rs As New ADODB.Recordset"
"Public con As New ADODB.Connection"
-thor-
mayo 10, 2007, 10:28
Gracias,ahi solucione ese problema.
Ahora cuando ingreso los datos en mis textbox y luego hago click en el boton modificar,no me modifica nada y los datos en la base de datos quedan iguales,la aplicacion tampoco me arroja errores.solo aqui tengo problemas,ya que los insert,delete y select me funcionan correctamente.He tratado harto de buscar el error,pero no logro encontrarlo.mis campos de la base de datos son varchar.
que problema puede tener la sentencia sql?
gracias
Private Sub modificar_Click()
Dim cod As String
Dim nombree As String
Dim edadd As String
Dim direccionn As String
cod = Text3.Text
nombree = nombre.Text
edadd = edad.Text
direccionn = direccion.Text
SQL = "UPDATE probando set nombre='" & nombree & "' & ',' & edad='" & edadd & "'& ',' & direccion='" & direccionn & "' where codigo='" & cod & "'"
con.Execute (SQL)
End Sub
Tael Yang
mayo 10, 2007, 04:46
mijo ve, en mysql esta seria la sentencia
update `probando` set `cod`='1',`nombre`='2',`edad`='2',`direccion`='2' where `cod`='2'
ahora en visual seria asi
Dim cmd As New ADODB.Command
cmd.ActiveConnection = con
cmd.CommandText "update `probando` set `cod`='" & Trim(txt3.Text) & "',`nombree`='" & Trim(nombre.Text) & "',`edadd`='" & Trim(edad.Text) & "',`direccionn`='" & Trim(direccion.Text) & "' where `cod`='2'"
cmd.Execute
te recomiendo que no pases los valores de las cajas de texto a variables, asi se carga mas la memoria.
EDIT:
por si no lo sabes, la funcion trim es para sacar los espacios al inicio y al final de las cadenas de texto
vBulletin®, Copyright ©2000-2008, Jelsoft Enterprises Ltd.