Clarion - Como hacer consultas en Clarion5

 
Vista:

Como hacer consultas en Clarion5

Publicado por Omar García (42 intervenciones) el 13/05/2001 03:33:22
Hola:
soy novato en Clarion 5, y estoy aprendiendo el acceso hacerca de como accesar a los datos en tablas.
Tengo varias preguntas y espero me pueda ayudar.
1. Lei que SQL se puede usar a través de la propedad {PROP:SQL}, sin embargo, no se cómo ver el resultado de mi consulta. Por ejemplo:
Mitabla{Prop:SQL} = 'Select * from Mitabla'
y la ejecuto, pero no veo el resultado, ni sé cómo direccionarlo a una variable. Además el manual menciona que instrucciones SQL solo se aplican los controladores ODBC y SQL ¿Cómo puedo solucionar esto?

2. Estoy usando un ciclo para probar el acceso secuencial a los registros de una Tabla en CLarion 5. Mi instrucción es la siguiente
LOOP X# = 1 TO RECORDS(Mitabla)
GET(Mitabla, X#)
IF ERRORCODE() THEN STOP(ERROR()).
agente = MTB:Agent
MESSAGE('Leyendo ' & agente )
END
Sucede que al registro 1 se sale marcando un Error. Estuve acesando con la función GET() a cada uno de mis registros y con sorpresa vi que el registro # 1 no lo lee aunque físicamente si existe y lo puedo ver en un BrowseList y los registros #2, 3 y su secivos si los lee. ¿Alguien puede explicarme que estoy haciendo mal?
Por su ayuda, mil gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como hacer consultas en Clarion5

Publicado por Raul Morales (22 intervenciones) el 16/05/2001 00:45:44
La primera pregunta es simple, el SQL es solo para dirves SQL, como Msql y los otros, pero puedes usar los querys para hacer tus consultas, hay templates para eso.

La segunda, simplemente estas leyendo punteros no secuancialmente debes leer la ayuda para que veas.

usa este

Loop Until Eof(tabla)
Next(Tabla)
..... procesos de tu tabla.
.....
End.

Usa el get para leer por llaves especificas, ejemplo

tabla1.campo (de la llave)=1234
Get(tabla1,tabla1.llave1)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar