我正在尝试获取新插入行的ID,如下所示
INSERT dbo.Users(Username)
OUTPUT inserted.ID
VALUES('my new name');
当我在SQL Server 2008中执行此查询时,它返回id
。我的问题是如何将此Id
存储在asp.net C#中的变量中以进一步使用此值。
注意:我没有使用参数化查询。
答案 0 :(得分:2)
使用命令的执行标量属性
int NewNameId = (int)sqlCommand.ExecuteScalar();
答案 1 :(得分:0)
DECLARE @inserted TABLE ( id INT NOT NULL);
INSERT dbo.Users(Username)
OUTPUT inserted.ID INTO @inserted
VALUES('my new name');
SELECT (id)
FROM @inserted
不确定。请检查
答案 2 :(得分:0)
类似的东西:
try
{
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = null;
SqlDataReader rdr = null;
conn.Open();
cmd = new SqlCommand(sqlsel, conn);
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
var _id = rdr.GetInt(0);
}
conn.Close();
// do something with _id