FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Como capturar el resultado de una consulta SQL
Hola, estoy trabajando con D6 y empiezo con Oracle 9i + componentes ODAC. Mi pregunta es como trasladar el restultado de la siguiente consulta SQL a una variable para mostrarla en pantalla, lo que quiero es ver en pantalla el nº de registros de una tabla:
Código:
fdm.OraSQL_liq.SQL.Clear; fdm.OraSQL_liq.SQL.Text := 'select count(*) from desarrollo.personal'; fdm.OraSQL_liq.execute; numreg.value:= ?????? Gracias y un saludo a todos. Jose Manuel |
#2
|
||||
|
||||
Saludos
Cita:
Prueba con: Suerte
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#3
|
|||
|
|||
Gracias por tú respuesta, pero creo que estoy haciendo algo mal, pues me da un error:
La tabla que utilizo tiene 50 campos, y los 4 primeros son: Código:
// tbPerA_BAJA: TStringField; // tbPerC_NUM_OFICINA: TStringField; // tbPerN_NUM_YEAR: TStringField; // tbPerN_NUM_ORDEN: TIntegerField; La instrucción para obtener el nº de registros es la siguiente: Código:
fdm.tbPer.SQL.Clear; fdm.tbPer.SQL.Text := 'select count(*) AS a_baja from personal'; fdm.tbPer.execute; registros.value:= fdm.tbPer.fieldbyname('a_baja').AsString; Código:
ERROR: TbLiq: Type mismatch for field 'A_BAJA', expecting:String actual:Float |
#4
|
||||
|
||||
Saludos
Error te dice que no es el dataset tbPer que da problema, es el TbLiq. Chequea bien!!
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#5
|
|||
|
|||
Perdon, ha sido un error de escritura.
Código:
Donde dije: ERROR: TbLiq: Type mismatch for field 'A_BAJA', expecting:String actual:Float Código:
Quise decir: ERROR: TbPer: Type mismatch for field 'A_BAJA', expecting:String actual:Float Esta consulta es correcta, y al realizarla a través del "Enterprise Manager Console ORACLE", me muestra correctamente el número de registros, el problema es al pasar el resultado a una variable en Delphi. Código:
fdm.tbPer.SQL.Clear; fdm.tbPer.SQL.Text := 'select count(*) AS a_baja from personal'; fdm.tbPer.execute; |
#6
|
||||
|
||||
no estoy seguro con Oracle, pero:
fdm.tbPer.execute; debería ser fdm.tbPer.Open; Una vez abierta, simplemente lees el valor que tiene el único de la consulta:
saludos |
|
|
|