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
子句。
例如
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;
}
我在尝试使用 ExecutedScalar()
命令时遇到问题。
我构建了一个网络应用程序,在网络应用程序中用户需要填写他的详细信息,如姓名、家庭、爱好(数组)等
用户按下提交按钮后,我收集用户填写的所有信息并创建一个对象 Person 并连接到数据库并更新 personTbl
table。
personTbl
- 我有一个 ID (identity(1,1))
归档,这意味着每次我添加一个新人时,他都会从 SQL 服务器获得一个新 ID。
我的问题是:
如何向数据库添加一个新人,同时从 SQL 服务器获取 ID?
我使用ExecuteNonQuery()
插入新人,但同时我需要检索他的ID(使用ExecutedScalar()
)因为我需要用她做另一个插入命令来一个不同的 table.
您可以使用 OUTPUT
子句。
例如
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;
}