如何使用C#将新插入的行的Id(主键)存储到变量中

时间:2013-10-25 12:02:54

标签: c# asp.net sql-server-2008

我正在尝试获取新插入行的ID,如下所示

INSERT dbo.Users(Username)  
OUTPUT inserted.ID  
VALUES('my new name');

当我在SQL Server 2008中执行此查询时,它返回id。我的问题是如何将此Id存储在asp.net C#中的变量中以进一步使用此值。

注意:我没有使用参数化查询。

3 个答案:

答案 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