Identificarte

Versión Completa : Error al iniciar consulta SQL con Visual Basic


Sponsored links
.




-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