Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   obtener campo de varios obtenidos de sql mediante un cursor (https://www.clubdelphi.com/foros/showthread.php?t=45615)

jesusvp 09-07-2007 17:08:44

obtener campo de varios obtenidos de sql mediante un cursor
 
:) hola soy nuevo en el lenguaje delphi, trato de aprender un poco de como utilizar delphi con una conexion a una base de datos de sql server, realizando lo siguiente:
en un boton programo la declaracion del cursor y su apertura

Query1.sql.Text := 'DECLARE contact_cursor CURSOR FOR SELECT * FROM ME_INGRESO_PTO_VENTA_TJA';
Query1.ExecSQL;
Query1.sql.Text := 'OPEN contact_cursor';
Query1.ExecSQL;

y el el otro me gustaria que me diera lo obtenido por el cursor y cada uno de los campos colocarlos en un EDIT.

Query1.sql.Text := ' IF @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM contact_cursor END ELSE BEGIN CLOSE contact_cursor DEALLOCATE contact_cursor END'
Query1.ExecSQL;
***edit1.text := query1.Fields.Fields [1].Value

***en este punto es donde tengo problemas ya que quisiera que haga lo siguiente de lo obtenido con el cusor

edit1.text := campo1 (obtenido por el cursor)
edit2.text := campo2 (obtenido por el cursor)
edit3.text := campo3 (obtenido por el cursor)
l

ContraVeneno 09-07-2007 19:11:04

Código Delphi [-]
query1.Fields.Fields [1].FieldName

jesusvp 09-07-2007 20:01:55

lo unico que me muestra es el nombre del campo, ejemplo el campo se llama venta_id, lo q me muestra es "venta_id", y deseo q me muestre lo q tiene ese campo q podria ser 02134

ContraVeneno 09-07-2007 20:06:08

Código Delphi [-]
query1.Fields.Fields [1].AsString;
query1.Fields.Fields [1].AsInteger;
query1.Fields.Fields [1].AsFloat;
query1.Fields.Fields [1].AsBoolean;
query1.Fields.Fields [1].AsCurrency;

//-----------
Etc, etc, etc... Dependiendo de como lo necesites
//-----------

query1.Fields.Fields [1].Value; //Este es de tipo Variant y puede generar errores de conversión.

//-----------
Si ya sabes el nombre del campo, es preferible utilizar:
//-----------

Query1.FieldByname('venta_id').AsString; //AsFloat, AsInteger, etc, etc dependiendo

jesusvp 09-07-2007 20:47:58

no me muestra ninguna informacion

Query1.sql.Text := ' IF @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM contact_cursor END ELSE BEGIN CLOSE contact_cursor DEALLOCATE contact_cursor END';
Query1.ExecSQL;
edit1.text :=Query1.FieldByname('venta_id').AsString;

no se si me puedas decir como muestro toda la informacion del query en un edit para verificar que este leyendo la informacion que obtiene del cursor del sql server, gracias por molestarte en contestarme :-)

jesusvp 16-07-2007 20:35:57

gracias ya encontre la respuesta, y disculpa la molestia que te di

para era solo de hacer esto

Edit1.Text := Query.FieldByName('NOMBRE_CAMPO1').AsString;

pero lo q no entiendo es por q no me aparece la opcion de FieldByName cuando inserto el "." despues del query


La franja horaria es GMT +2. Ahora son las 08:03:23.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi