[英]How to get last inserted id on ms sql server with FireDac component?
與FireDac,如何獲取ms sql服務器上的最后插入的id? 謝謝
使該id成為一個身份列,然后通過使用獲取它
SELECT SCOPE_IDENTITY()
在插入語句之后
請參考以下鏈接
使用自動遞增的字段類型
http://www.da-soft.com/anydac/docu/Auto-Incremental_Fields.html
這將提供類似的代碼
DataSet.Insert;
....
DataSet.Post;
id := DataSet.FieldByName('ID').AsInteger;
另一種方法可能是制作適當的SQL語句,如
AnyDAC作者還建議通過http://docs.embarcadero.com/products/rad_studio/firedac/uADCompClient_TADCustomConnection_GetLastAutoGenValue@String.html獲取特定於DBMS的工具的特殊方法。
但是所有帶有SELECT @@identity
或SELECT SCOPE_IDENTITY
事后請求都是脆弱且危險的。 當您將數據插入表A中時,其觸發器可能會將數據插入相關的表B和C中,標識將調用C的autoinc,而不是您從其開始插入的表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.