ERROR con SELECT AL ABRIR UN RECORDSET CON ADO

ERROR con SELECT AL ABRIR UN RECORDSET CON ADO

Postby rterraz » Wed Sep 01, 2010 3:55 pm

Hola amigos
A ver si me pueden ayudar !
Tengo una base de access a la cual accedo con ADO y necesito hacer algunos filtros en el recordset en las siguientes situaciones me da error y ya he probado de multiples maneras y no logro hacerlo funcionar
Code: Select all  Expand view

    cNroAf:="54321"   // variable char
    cFecha:=ctod("26/09/10")   // variable date
    nNrotrx:=57        // variable num

    // usando la variable char funciona perfectamente
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE CODAFI = ' "+cNroAf+" ' "

    // usando la variable numerica no funciona
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE NROTRX > ' "+nNroTrx+" ' "    
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE NROTRX > ' +nNroTrx+ ' "
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE NROTRX > nNroTrx "
     ninguno de los 3 ejemplos funciona

   oRs:Source := "SELECT * FROM TRANSACCIONES WHERE CODAFI = '"+cNroAf+"' AND NROTRX > '+nNroTrx+'  "
   esto tampoco funciona

    aparentemente el problema surge con las variables numericas pero ya no se me ocurre de que manera escribirlo
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE NROTRX > '+nNroTrx+'"
    oRs:Open()

 

Espero que alguien pueda iluminarme :cry:
muchas gracias a todos
User avatar
rterraz
 
Posts: 182
Joined: Wed Nov 08, 2006 11:44 pm
Location: Argentina

Re: ERROR con SELECT AL ABRIR UN RECORDSET CON ADO

Postby ruben Dario » Wed Sep 01, 2010 4:36 pm

rterraz wrote:Hola amigos
A ver si me pueden ayudar !
Tengo una base de access a la cual accedo con ADO y necesito hacer algunos filtros en el recordset en las siguientes situaciones me da error y ya he probado de multiples maneras y no logro hacerlo funcionar
Code: Select all  Expand view

    cNroAf:="54321"   // variable char
    cFecha:=ctod("26/09/10")   // variable date
    nNrotrx:=57        // variable num

    // usando la variable char funciona perfectamente
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE CODAFI = ' "+cNroAf+" ' "

    // usando la variable numerica no funciona
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE NROTRX > ' "+nNroTrx+" ' "[quote="rterraz"]Hola amigos
A ver si me pueden ayudar !
Tengo una base de access a la cual accedo con ADO y necesito hacer algunos filtros en el recordset en las siguientes situaciones me da error y ya he probado de multiples maneras y no logro hacerlo funcionar[code=fw]
    cNroAf:="54321"   // variable char
    cFecha:=ctod("26/09/10")   // variable date
    nNrotrx:=57        // variable num

    // usando la variable char funciona perfectamente
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE CODAFI = ' "+cNroAf+" ' "

    // usando la variable numerica no funciona
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE NROTRX > ' "+nNroTrx+" ' "    
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE NROTRX > ' +nNroTrx+ ' "
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE NROTRX > nNroTrx "
     ninguno de los 3 ejemplos funciona

   oRs:Source := "SELECT * FROM TRANSACCIONES WHERE CODAFI = '"+cNroAf+"' AND NROTRX > '+nNroTrx+'  "
   esto tampoco funciona

    aparentemente el problema surge con las variables numericas pero ya no se me ocurre de que manera escribirlo
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE NROTRX > '+nNroTrx+'"
    oRs:Open()

 [/code]
Espero que alguien pueda iluminarme :cry:
muchas gracias a todos[/quote]    
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE NROTRX > ' +nNroTrx+ ' "
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE NROTRX > nNroTrx "
     ninguno de los 3 ejemplos funciona

   oRs:Source := "SELECT * FROM TRANSACCIONES WHERE CODAFI = '"+cNroAf+"' AND NROTRX > '+nNroTrx+'  "
   esto tampoco funciona

    aparentemente el problema surge con las variables numericas pero ya no se me ocurre de que manera escribirlo
    oRs:Source := "SELECT * FROM TRANSACCIONES WHERE NROTRX > '+nNroTrx+'"
    oRs:Open()

 

Espero que alguien pueda iluminarme :cry:
muchas gracias a todos


Porque no lo colocas el codigo Asi.

"SELECT * FROM TRANSACCIONES WHERE NROTRX > "+nNroTrx
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1061
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: ERROR con SELECT AL ABRIR UN RECORDSET CON ADO

Postby rterraz » Wed Sep 01, 2010 6:38 pm

Hola Ruben
Gracias por contestarme...probe como me indicas y sigue sin funcionar ??????
what happen!!!
User avatar
rterraz
 
Posts: 182
Joined: Wed Nov 08, 2006 11:44 pm
Location: Argentina

Re: ERROR con SELECT AL ABRIR UN RECORDSET CON ADO

Postby ruben Dario » Wed Sep 01, 2010 6:43 pm

rterraz wrote:Hola Ruben
Gracias por contestarme...probe como me indicas y sigue sin funcionar ??????
what happen!!!



Me puede colocar el codigo completo yo hago la prueba y si es posible la base de datos yo hago la prueba, y que version de FWH usa y si es xharbour o harbour
te doy mi correo rubendariogd@hotmail.com
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1061
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: ERROR con SELECT AL ABRIR UN RECORDSET CON ADO

Postby rterraz » Wed Sep 01, 2010 6:55 pm

Estoy usando la FWH 10.1 y el Harbour que viene con la version.
recien probe esto:
"SELECT * FROM TRANSACCIONES WHERE NROTRX > 57"
y anda perfecto!!!!
Quiere decir que el error esta en como concatenar la variable numerica al resto de la cadena.Ya he probado de todas las maneras que se me ocurrieron y no hay caso, debe ser una comilla que falta o que sobra!
User avatar
rterraz
 
Posts: 182
Joined: Wed Nov 08, 2006 11:44 pm
Location: Argentina

Re: ERROR con SELECT AL ABRIR UN RECORDSET CON ADO

Postby wmormar » Wed Sep 01, 2010 7:15 pm

rterraz wrote:Estoy usando la FWH 10.1 y el Harbour que viene con la version.
recien probe esto:
"SELECT * FROM TRANSACCIONES WHERE NROTRX > 57"
y anda perfecto!!!!
Quiere decir que el error esta en como concatenar la variable numerica al resto de la cadena.Ya he probado de todas las maneras que se me ocurrieron y no hay caso, debe ser una comilla que falta o que sobra!


No veo cual es el tipo de error que te genera. Y otra cuando concatenas valores para una consulta debes tomar en cuenta lo siguiente:

Para columnas tipo char:
[SELECT * FROM productos WHERE codigo = '] + micodigo + [']

Para columnas tipo numericas:
[SELECT * FROM clientes WHERE numerocliente = ] + altrim(str(micodigo))
William, Morales
Saludos

méxico.sureste
User avatar
wmormar
 
Posts: 1073
Joined: Fri Oct 07, 2005 10:41 pm
Location: México

Re: ERROR con SELECT AL ABRIR UN RECORDSET CON ADO

Postby rterraz » Wed Sep 01, 2010 7:25 pm

Hola William...genioooooo!!!
Todo el problema estaba en querer usar la variable numerica directamente,
convirtiendola a char previamente con cValToChar o Str anda de maravillas

hace una cuantas horas que estoy dandole vueltas al tema sin resultados...
Hasta ahora
Mil gracias desde Argentina
User avatar
rterraz
 
Posts: 182
Joined: Wed Nov 08, 2006 11:44 pm
Location: Argentina

Re: ERROR con SELECT AL ABRIR UN RECORDSET CON ADO

Postby wmormar » Thu Sep 02, 2010 4:59 am

rterraz wrote:Hola William...genioooooo!!!
Todo el problema estaba en querer usar la variable numerica directamente,
convirtiendola a char previamente con cValToChar o Str anda de maravillas

hace una cuantas horas que estoy dandole vueltas al tema sin resultados...
Hasta ahora
Mil gracias desde Argentina


Excelente, que bueno que te ha funcionado
William, Morales
Saludos

méxico.sureste
User avatar
wmormar
 
Posts: 1073
Joined: Fri Oct 07, 2005 10:41 pm
Location: México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 94 guests