Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/12/2005, 11:27
JAMER
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 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