1

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

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

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

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

4

3 回答 3

2

为您的命令使用 execuate 标量属性

        int NewNameId = (int)sqlCommand.ExecuteScalar();
于 2013-10-25T12:09:10.847 回答
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

没有把握。只是检查

于 2013-10-25T12:10:01.390 回答
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
于 2013-10-25T12:12:33.357 回答