Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como se Hace una consulta SQL parametrizada en VB6 con 2 o + Parametros?

Estas en el tema de Como se Hace una consulta SQL parametrizada en VB6 con 2 o + Parametros? en el foro de Visual Basic clásico en Foros del Web. Pues eso no se si es error de sintaxis pero siento que me falta algo lo e intentado de las siguientes formas: Tengo en mi ...
  #1 (permalink)  
Antiguo 10/12/2005, 11:27
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 19 años, 4 meses
Puntos: 0
Como se Hace una consulta SQL parametrizada en VB6 con 2 o + Parametros?

Pues eso no se si es error de sintaxis pero siento que me falta algo lo e intentado de las siguientes formas:

Tengo en mi BD Numctl (es entero largo) y Dia (tipo string)

Si lo hago asi me falla en la sintaxis:

.CommandText = "SELECT * FROM Horario Where (Numctl= & clave and Dia= & dia)"


Luego lo e intentado de la siguiente forma compila pero no almacena nada pues numctl me lo toma como string en parameters(0).
Código:
Set busqueda = New Command
    .ActiveConnection = conexion
    .CommandText = "SELECT  * FROM Horario Where Numctl=? and Dia=?"
    .CommandType = adCmdText
  End With
  
  busqueda.Parameters(0) = clave 'Es una variable entera larga que tiene el numero de control que busco
  busqueda.Parameters(1) = Dia ' Es una variable string que tiene el nombre del dia que busco
  
  With rstRecordSet
    .CursorType = adOpenStatic
    .CursorLocation = adUseClient
    .LockType = adLockOptimistic
    .Open busqueda
End With
Con este codigo por ejemplo tecleo en un textbox = 501 se lo asigno a clave
obtengo el dia de la semana y se lo asigno a Dia (Dia ="Sabado").
Estos Son los valores que quedan
Clave=501
Dia="Sabado"

Y si ejecuto paso a paso el cursor marca asi en busqueda.parameters() quiere decir que clave lo toma como texto.

busqueda.Parameters(0)="501"
busqueda.Parameters(1)="Jueves"

Porque?

Cualquier forma que sepas para hacer consultas parametrizadas me seria de ayuda
  #2 (permalink)  
Antiguo 10/12/2005, 11:35
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 18 años, 7 meses
Puntos: 1
Cita:
.CommandText = "SELECT * FROM Horario Where (Numctl= & clave and Dia= & dia)"
El error esta en que todo el SQL incluso las variables estan entre comillas, cuando lo correcto seria concatenar las condiciones con los parametros, asi:
Código:
"SELECT * FROM Horario WHERE (Numctl = " & clave & " AND Dia = " & dia & ")"
Saludos
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 00:57.