Page 1 of 1

nRecCount no me anda como quisiera.

PostPosted: Tue Apr 24, 2012 3:38 am
by goosfancito
Hola.

Hago una consulta antes de hacer un insert, pero cuando hago la consulta y me fijo
si nReccount() me devuelve valor me dice siempre que es 0 y se que existen valores.

porque?

gracias.
Code: Select all  Expand view

    oQuery:= tDolphinQry():new("SELECT * FROM tbtemporal where " + ;
                                 "tbtemporal.ficha='" + aDatos[1] + "' and " + ;
                                 "tbtemporal.fecha='" + aDatos[2] + "' and " + ;
                                 "tbtemporal.hora='" + aDatos[3] + "' and " + ;
                                 "tbtemporal.codigo='" + aDatos[5] + "'",;
                                 ::oServidor)


      IF oQuery:nRecCount != 0
        ? "existen valores"
      ENDIF

Re: nRecCount no me anda como quisiera.

PostPosted: Tue Apr 24, 2012 3:57 am
by joseluisysturiz
Intenta con esto oQry:LastRec() > 0, si te sigue diciendo que esta vacia entonce revisate la tabla o has una revision a las sentencias por parte, seguro no se esta cumpliendo alguna sentencia, prueba que los campos tengan valores, estas aramando el query diciendole que debe cumplir TODAS las sentencias, si falla alguna, ya no se arma, saludos... :shock:

Re: nRecCount no me anda como quisiera.

PostPosted: Tue Apr 24, 2012 10:00 am
by Daniel Garcia-Gil
goosfancito wrote:Hola.

Hago una consulta antes de hacer un insert, pero cuando hago la consulta y me fijo
si nReccount() me devuelve valor me dice siempre que es 0 y se que existen valores.

porque?


si estas seguro que hay datos en la tabla, entonces te devuelve 0 es porque no hay registros que cumpla con la consulta que estas enviando (100% seguro),
para revisar los datos que envias, coloca una "traza" que te muestre la consulta y la ejecutas en la consola de mysql (creo que asi lo hacemos todos que trabajamos con mysql)

Re: nRecCount no me anda como quisiera.

PostPosted: Tue Apr 24, 2012 10:24 am
by goosfancito
lastkey no me devuelve nada.

y si Daniel, estoy verificando que la SELECT sea la correcta, es mas, si lo cargo en un array y busco en ese array estan los datos.

sigo.

Re: nRecCount no me anda como quisiera.

PostPosted: Tue Apr 24, 2012 10:45 am
by goosfancito
Daniel,.

El problema lo tengo cuando incluyo en mi WHERE un campo con fecha. si quito ese campo me devuelve valores.

asi creo mi tabla:

Code: Select all  Expand view
  ::oServidor:deletetables({"tbtemporal"}, .t. )

   adatos:= {;
            {"id", "n", 5, 0, .t., nil },;
            {"ficha", "C", 5, 0, .t., nil },;
            {"fecha", "d", 0, 0, .t., nil },;
            {"hora", "c", 5, 0, .t., nil },;
            {"reloj", "c", 2, 0, .t., nil },;
            {"codigo", "c", 2, 0, .t., nil };
            }
   ::oServidor:createtable("tbtemporal", adatos, "id", "id", "id")

Re: nRecCount no me anda como quisiera.

PostPosted: Tue Apr 24, 2012 11:04 am
by Daniel Garcia-Gil
Hola

tienes la sentencia SELECT mal...

goosfancito wrote:El problema lo tengo cuando incluyo en mi WHERE un campo con fecha. si quito ese campo me devuelve valores.


entonces la fecha esta mal... recuerda que en mysql la fecha es con este formato "yyyy-mm-dd", debes convertirla

dolphin te brinda la funcion ClipValue2Sql, esta detecta automaticamente el tipo de dato en harbour y regresa el valor para usarse en mysql

ejemplo ClipValue2Sql( date() ) devuelve '2012-04-24' (incluyendo las comillas simples)

Re: nRecCount no me anda como quisiera.

PostPosted: Tue Apr 24, 2012 11:06 am
by Daniel Garcia-Gil
de igual manera recuerda el tip anterior para futuras conflictos, problemas o errores

Daniel Garcia-Gil wrote:para revisar los datos que envias, coloca una "traza" que te muestre la consulta y la ejecutas en la consola de mysql (creo que asi lo hacemos todos que trabajamos con mysql)

Re: nRecCount no me anda como quisiera.

PostPosted: Tue Apr 24, 2012 11:18 am
by goosfancito
Daniel,

Era eso, gracias nuevamente.