检索和管理数据库数据

时间:2013-07-06 23:28:44

标签: delphi firebird

我有一个名为qryUltimoProyectoCreado的TSQLQuery组件,下一个查询:

select gen_id(GEN_PROYECTO_ID, 0)
from rdb$database;

查询组件有一个名为dsUltimoProyectoCreado的TDataSet。 现在,在我的代码中,我需要执行que查询(Open)并操纵检索到的行:

DMConnect.qryUltimoProyectoCreado.Open;
{ now ? }

有什么想法吗?我是Delphi的新手。谢谢!。

1 个答案:

答案 0 :(得分:1)

只需使用查询Fields属性:

DMConnect.qryUltimoProjyectoCread.Open;
if not DMConnect.qryUltimoProjyectoCread.IsEmpty then
  NewID := DMConnect.qryUltimoProjyectoCread.Fields[0].AsInteger;

最好是在SQL中为列(特别是那些由函数或存储过程产生的列)提供别名:

DMConnect.qryUltimoProjyectoCread.SQL.Text := 'select gen_id(GEN_PROYECTO_ID, 0)' +
                                              ' as NewID from rdb$database;';
DMConnect.qryUltimoProjyectoCread.Open;
if not DMConnect.qryUltimoProjyectoCread.IsEmpty then    
  MyNewID := DMConnect.qryUltimoProjyectoCread.FieldByName('NewID').AsInteger;

上面链接的文档页面底部有一些链接,显示了如何使用Delphi中的数据,这些链接可能会对您有所帮助。