FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour SEEK en Tdolphin y Mysql indice campo NUMERICO (SOLUCIONADO)
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
SEEK en Tdolphin y Mysql indice campo NUMERICO (SOLUCIONADO)
Posted: Mon Feb 27, 2012 05:00 PM
Saludos, crei tenia la solucion, pero ahora se me presenta el mismo problema que el colega, mi campo clave es numerico y por ese mismo tengo mi ordenamiento del Query, "SELECT * FROM inscripcion ORDER BY numero ASC", si uso Query:Seek(MiVar, "nom_campo"), para el Seek nunca existe ningun valor y si hago el Query:Seek(MiVar, "nom_campo", , , .t. ) para el lSoft, entonce me muestra el valor mas coincidencia como si fuese una busqueda secuencial, ejemplo si mi valor en mi campo es 3450 y le digo al Seek que busque el 345 dice que existe aunque no exista, toma en cuenta los 3 primeros valores del valor del campo del query y para el ningun valor por debajo de 100 existe, como si solo trabajara con valores de 3 digitos, a ver si alguien le ha pasado y ha resuelto, esto solo sucede si el campo de la tabla es NUMERICO, espero alguna ayuda o si Daniel le puede dar una revisada a ver que pasa con el SEEK, gracias y saludos...



joseluisysturiz wrote:
José Ríos wrote:Buen dia.

Siguiendo con muis pruebas en tdophin me encontre con un caso en que el metodo seek con datos numericos no encuentra numeros de mas de un digito.

Por ejemplo si tengo dados de alta los registros:

Numero Nombre
1 A
3 B
11 C

Y hago el siguiente query y despues 3 busquedas seek cobre el query

Code (fw): Select all Collapse
                DEFINE QUERY oQry "SELECT * FROM vendedores order by numero" 

               // y despues despues hago la siguientes busquedas:

                
                If oQry:seek(2, 'Numero' ) > 0
                     msginfo('encontrado')
                else
                      msginfo('no encontrado')
                endif

                If oQry:seek(1, 'Numero' ) > 0
                     msginfo('encontrado')
                else
                      msginfo('no encontrado')
                endif

                 If oQry:seek(11, 'Numero' ) > 0
                     msginfo('encontrado')
                else
                      msginfo('no encontrado')
                endif

En los dos primeros casos (numero =1 y numero=2 ), el resultado de la busqueda es exitoso, pero cuando numero=11 el registro no es encontrado.

Haciendo pruebas con find el resultado de la busqueda para numero=11 es correcto.

¿Esto significa que seek no debe usarse con campos numericos?.

Saludos.

Jose Rios.


Saludos, me habia pasado algo parecido, yo llenaba los datos manualmente a la tabla y a veces no los encontraba, es como si la tabla se embasura, prueba limpiar la tabla o cambiar el 1 o el 2 por el valor 11, ya que si te acepto el 1 y el 2, debe aceptarte el 11 ya que todos los valores son numericos, igualmente las busqueda las hago es con el valor en una VAR, intentalo de esta manera a ver..

nNum := 11

IF oQry:SEEK(nNum, "numero") = 0
.....
saludos... :-)
Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: SEEK en Tdolphin y Mysql indice campo NUMERICO (SOLUCIONADO)
Posted: Sat Mar 03, 2012 01:26 AM
Dios no está muerto...



Gracias a mi Dios ante todo!

Continue the discussion