0

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

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

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

DMConnect.qryUltimoProyectoCreado.Open;
{ now ? }

有任何想法吗 ?我是德尔福的新手。谢谢 !。

4

1 回答 1

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 中处理您可能会发现有用的数据。

于 2013-07-06T23:38:31.517 回答