Sql executeScalar()-ASP.NET web应用程序

Sql executeScalar()-ASP.NET web应用程序,sql,sql-server,ado.net,Sql,Sql Server,Ado.net,尝试使用executeScalar()命令时遇到了一个问题 我构建了一个web应用程序,在这个web应用程序中,用户需要填写他的详细信息,如姓名、家庭、爱好(数组)等 用户按下submit按钮后,我收集用户填写的所有信息,创建一个object Person,连接到DB并更新personTbl表 personTbl-我有一个ID(identity(1,1))文件,这意味着每次我添加一个新的人,他都会从SQL Server获得一个新的ID 我的问题是: 如何向数据库中添加一个新人,同时从SQL Se

尝试使用
executeScalar()
命令时遇到了一个问题

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

用户按下submit按钮后,我收集用户填写的所有信息,创建一个object Person,连接到DB并更新
personTbl

personTbl
-我有一个
ID(identity(1,1))
文件,这意味着每次我添加一个新的人,他都会从SQL Server获得一个新的ID

我的问题是:

如何向数据库中添加一个新人,同时从SQL Server获取is ID


我使用
ExecuteNonQuery()
插入新的person,但同时,我需要检索他的ID(使用
executeScalar()
),因为我需要使用她对不同的表执行另一个insert命令。

您可以使用
OUTPUT
子句

提及

e、 g


@Gavriel的可能副本:欢迎。
 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;
    }