簡體   English   中英

在 SQL Server 中查找最后插入的記錄的代碼

[英]Finding the code of the last inserted record in SQL Server

我正在用 C# 開發一個系統,我必須在 2 個表中插入記錄並且這些表是相關的。 一張表稱為Client並具有Cod_CliNome_Cli列。 第二個表是Phone與列Cod_PhoneNum_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM