[英]Finding the code of the last inserted record in SQL Server
我正在用 C# 開發一個系統,我必須在 2 個表中插入記錄並且這些表是相關的。 一張表稱為Client
並具有Cod_Cli
、 Nome_Cli
列。 第二個表是Phone
與列Cod_Phone
, Num_Phone
。 由於客戶可能有多個電話號碼,我創建了一個名為Cli_Phone
的關聯表,其中包含列(Cod_Cli, Cod_Phone)
。
當我開發我的 C# 程序時,我啟動了一個事務,以便我可以進行提交(或回滾,如果出現問題)。 在Phone
表中插入記錄后,我必須獲取該記錄的代碼才能在Cli_Phone
表中插入新記錄。
我的問題是:如果我仍然沒有提交結果,如何獲得此代碼? 我不想使用程序。
我正在使用 SQL Server 2012。
在 ADO.Net 中,您可以在插入查詢中使用 OUTPUT,並使用 ExecuteScalar 獲取 id。
using(SqlCommand cmd=new SqlCommand("INSERT INTO Your_table(column_1) output INSERTED.ID VALUES(@col1)",con))
{
cmd.Parameters.AddWithValue("@col1", "your_data");
con.Open();
int id =(int)cmd.ExecuteScalar();
if (con.State == System.Data.ConnectionState.Open)
con.Close();
return id;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.