gpt4 book ai didi

sql-server - 使用 Delphi AdoQuery 插入后获取最后一行数据

转载 作者:行者123 更新时间:2023-12-03 18:10:00 24 4
gpt4 key购买 nike

在 Delphi 2007 中使用 ADOQuery当我使用插入到表中添加一行时我如何获得最后一行?

我正在用这个添加行。

QD_TEMP1.close;
QD_TEMP1.sql.Clear;
QD_TEMP1.SQL.Add('insert into s_hasta_Kabul (Protokol,Muay_ID,Ocak_Kod,Tc_Kimlik_No) ');
QD_TEMP1.SQL.Add('values (:Protokol,:Muay_ID,:Ocak_Kod,:Tc_Kimlik_No) ');
QD_TEMP1.Parameters.ParamByName('Protokol').Value := 0;
QD_TEMP1.Parameters.ParamByName('Muay_ID').Value := 2;
QD_TEMP1.Parameters.ParamByName('Ocak_Kod').Value := 3;
QD_TEMP1.Parameters.ParamByName('Tc_Kimlik_No').Value := 4;
QD_TEMP1.ExecSQL;

如何在 execsql 之后获取最后添加的行?

最佳答案

您可以使用 OUTPUT返回插入的记录集的子句,无论您是否有标识列(从您的评论看来您没有)。

例如

QD_TEMP1.Close;
QD_TEMP1.sql.Clear;
QD_TEMP1.SQL.Add('insert into s_hasta_Kabul (Protokol,Muay_ID,Ocak_Kod,Tc_Kimlik_No) ');

QD_TEMP1.SQL.Add('OUTPUT inserted.*');

QD_TEMP1.SQL.Add('values (:Protokol,:Muay_ID,:Ocak_Kod,:Tc_Kimlik_No) ');
QD_TEMP1.Parameters.ParamByName('Protokol').Value := 0;
QD_TEMP1.Parameters.ParamByName('Muay_ID').Value := 2;
QD_TEMP1.Parameters.ParamByName('Ocak_Kod').Value := 3;
QD_TEMP1.Parameters.ParamByName('Tc_Kimlik_No').Value := 4;

QD_TEMP1.Open; // ExecSQL does NOT return recordset
// QD_TEMP1 now contains the inserted result set
ShowMessage(QD_TEMP1.FieldByName('Tc_Kimlik_No').AsString);

请注意,我们使用 QD_TEMP1.Open(不是 ExecSQL)返回插入的记录集。

关于sql-server - 使用 Delphi AdoQuery 插入后获取最后一行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33280954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com