使用 SQL 服务器,您可以简单地返回@@Identity
以获取ID
最后插入的值。
有没有办法使用提升b做到这一点?
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 列)。
上面的例子来自支持论坛。
ElevateDB 不支持标识或自动递增列类型。所以,没有像@@Identity
.