在SQLServer中查找最后插入的记录的代码

问题描述 投票:-1回答:1

我正在用C#开发系统,我必须在2个表中插入记录,并且这些表是相关的。一个表称为“客户端”,并具有字段(Cod_Cli,Nome_Cli)。第二个表是“电话”,其中包含字段(Cod_Phone,Num_Phone)。由于一个客户端可能有几个电话号码,我创建了一个关联表,称为Cli_Phone,其中包含字段(Cod_Cli,Cod_Phone)。

因此,当我开发C#程序时,我开始了一个事务,以便可以进行Commit(如果出现问题,则可以回滚)。在表Phone中插入记录后,必须获取该记录的代码才能在表Cli_Phone中插入新记录。

我的问题是:如果我仍未提交结果,如何获取此代码?我不想使用程序。

我正在使用SQL Server 2012。

c# sql-server commit
1个回答
0
投票

在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;
    }
© www.soinside.com 2019 - 2024. All rights reserved.