FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ERROR con SELECT AL ABRIR UN RECORDSET CON ADO
Posts: 182
Joined: Wed Nov 08, 2006 11:44 PM
ERROR con SELECT AL ABRIR UN RECORDSET CON ADO
Posted: Wed Sep 01, 2010 03: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 (fw): Select all Collapse
    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 :-)
muchas gracias a todos
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: ERROR con SELECT AL ABRIR UN RECORDSET CON ADO
Posted: Wed Sep 01, 2010 04: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 (fw): Select all Collapse
    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 :-)
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
Posts: 182
Joined: Wed Nov 08, 2006 11:44 PM
Re: ERROR con SELECT AL ABRIR UN RECORDSET CON ADO
Posted: Wed Sep 01, 2010 06:38 PM

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

Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: ERROR con SELECT AL ABRIR UN RECORDSET CON ADO
Posted: Wed Sep 01, 2010 06: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
Posts: 182
Joined: Wed Nov 08, 2006 11:44 PM
Re: ERROR con SELECT AL ABRIR UN RECORDSET CON ADO
Posted: Wed Sep 01, 2010 06: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!

Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM
Re: ERROR con SELECT AL ABRIR UN RECORDSET CON ADO
Posted: Wed Sep 01, 2010 07: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
Posts: 182
Joined: Wed Nov 08, 2006 11:44 PM
Re: ERROR con SELECT AL ABRIR UN RECORDSET CON ADO
Posted: Wed Sep 01, 2010 07: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

Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM
Re: ERROR con SELECT AL ABRIR UN RECORDSET CON ADO
Posted: Thu Sep 02, 2010 04: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

Continue the discussion