Ver Mensaje Individual
  #2  
Antiguo 29-12-2010
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Hola Master23, creo que viendo los ejemplos que puedes encontrar en los centenares de hilos es más que suficiente como para entenderlos.

Te recuerdo además que si bien todos los Querys tienen el mismo principio básico y estructura común... existen diferencias sutiles (o no, depende del caso) entre un TQuery, TADOQuery, TIBQuery, entre otros.

Dependiendo de la suite de componentes que elijas hay algunas cosas varían, deberías aclarar con cual trabajas... ¿ADO? ¿DBE? ¿IBX? ¿Zeos? ¿DBX?

Por mi parte trataré de ser lo más directo y simple posible:

El método .Open se utiliza cuando la instrucción SQL a ejecutar debe regresar registros, como un SELECT. Por su parte .ExeqSql se emplea cuando la instrucción NO debe regresar registros, como un UPDATE o INSERT.

Todo dataset (incluídos) los diferentes querys tienen los siguientes métodos para desplazarse por los registros: First, Prior, Next y Last. Sus nombres son bastante descriptivos lo que hacen es colocarse en el primer, anterior, siguiente, y último registro respectivamente. Por ejemplo si quisiéramos movernos por todos los registros (desde el principio hacia el final) de una consulta SELECT haríamos algo como:

Código Delphi [-]
MiQuery.First;
while NOT MiQuery.Eof do
begin
  // lo que debamos hacer con el registro activo
  MiQuery.Next;
end;

Lo que se hizo es:
1) Movernos al principio
2) Trabajamos con el registro
3) Nos movemos al siguiente
Se repite 2 y 3 hasta haber llegado al final (el último)

Notarás que en el ejemplo en el ciclo while hay un .Eof. Los Querys tienen un método .Eof que significa "End of File". Básicamente este método regresa un valor true o false dependiendo si el registro activo es el último del dataset o no.

Después está el manejo de los campos. Esto se procede de igual manera que con cualquier componente Table.

Está la propiedad Fields[] que permite acceder a un campo por su índice:

Código Delphi [-]
MiQuery.Fields[5].AsFloat := 123.456789;
En el ejemplo, se pasa al campo 6to (está basado en índice 0. Es decir el primer campo corresponde a 0, el 2do es 1, etc) del registro activo el valor 123.456789.

También se puede acceder al campo mediante su nombre:

Código Delphi [-]
saldo := MiQuery.FieldByName('Saldo').AsFloat;

En este caso se está leyendo del registro activo el campo Saldo.

Si deseas saber la cantidad de campos tiene la propiedad FieldCount.

Después está el manejo de los parámetros. Esto se procede de forma similar que con los campos. En el caso de ADO para acceder a ellos se debe emplear la propiedad Parameters mientras que otras suites trabajan con Params.

Creo que este breve pero introductorio "tutorial" te puede dar pie para comenzar.

Déjame decirte antes de terminar, que te regañe un poco. Esto ya se dijo y se habló centenares de veces en el foro. Deberías buscar primero, o quizá buscar mejor.

Si luego tienes alguna duda puntual o problemas puedes exponerlos en los foros y de allí te vamos guiando. No esperes que se te hable de todo sobre un componente... eso es tarea personal Te invito a que coloques el query en el form o datamodule y mientras esté "seleccionado" presiones F1. Eso bastará para acceder a la ayuda sobre el componente.

Todo lo que dije, y más está en la ayuda. Hay que leerla.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita