如何使用ElevateDB插入记录时返回ID值

时间:2012-04-20 20:52:56

标签: sql delphi elevatedb

使用SQL Server,您只需返回@@Identity即可获得最后一次插入的ID值。

有没有办法使用

执行此操作

2 个答案:

答案 0 :(得分:2)

ElevateDB提供LASTIDENTITY函数,该函数返回分配给指定表中指定列的最后一个标识值。

SELECT LASTIDENTITY('Customer', 'CustNo') AS LastCustNo


您还可以使用INSERT语句获取相同的信息。

EDBQuery1.SQL.Clear;
EDBQuery1.SQL.Add('INSERT INTO Table1 (ID, Text1)');
EDBQuery1.SQL.Add('VALUES(:ID, :Text1)');
EDBQuery1.Prepare;
EDBQuery1.ParamByName('Text1').AsString:='Some text';
EDBQuery1.ExecSQL;
ShowMessage(EDBQuery1.ParamByName('ID').AsString);
  

INSERT语句自动将所有参数设置为IN / OUT以便这样做   任何生成/计算的列值(包括IDENTITY列)都可以   执行INSERT后,通过相同的参数检索。

以上示例来自Support Forum

答案 1 :(得分:0)

ElevateDB不支持标识或自动递增列类型。因此,没有类似@@Identity的语法。