2

使用 SQL 服务器,您可以简单地返回@@Identity以获取ID最后插入的值。

有没有办法使用做到这一点?

4

2 回答 2

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,以便在执行 INSERT 后可以通过相同的参数检索任何生成/计算的列值(包括 IDENTITY 列)。

上面的例子来自支持论坛

于 2012-04-21T13:20:38.073 回答
0

ElevateDB 不支持标识或自动递增列类型。所以,没有像@@Identity.

于 2012-04-21T06:04:14.803 回答