ExecutedScalar() - ASP.NET 网络应用程序

ExecutedScalar() - ASP.NET web application

我在尝试使用 ExecutedScalar() 命令时遇到问题。

我构建了一个网络应用程序,在网络应用程序中用户需要填写他的详细信息,如姓名、家庭、爱好(数组)等

用户按下提交按钮后,我收集用户填写的所有信息并创建一个对象 Person 并连接到数据库并更新 personTbl table。

personTbl - 我有一个 ID (identity(1,1)) 归档,这意味着每次我添加一个新人时,他都会从 SQL 服务器获得一个新 ID。

我的问题是:

如何向数据库添加一个新人,同时从 SQL 服务器获取 ID?

我使用ExecuteNonQuery()插入新人,但同时我需要检索他的ID(使用ExecutedScalar())因为我需要用她做另一个插入命令来一个不同的 table.

您可以使用 OUTPUT 子句。

参考Output Inserted

例如

 using(SqlCommand cmd=new SqlCommand("INSERT INTO table1(column1,column2,column3) output INSERTED.ID VALUES(val1,val2,val3)",con))
    {       
        con.Open();
        int id=(int)cmd.ExecuteScalar();
        con.Close();
        return id;
    }