我正在使用以下查询插入一行,我插入了行,但我想获得主键以作为插入的回报。行已成功插入,但获取主键让我很难过。一切都很好,但lastID = Convert.ToInt32(Id.Value);
它说 InvalidCastException。“在插入一行后获取主键或任何其他属性”的问题也与这个问题有关
注意:主键列名是“Id”,是int类型,我是在asp.net做的
SqlParameter Id =new SqlParameter("Id" , SqlDbType.Int);
Id.Direction = ParameterDirection.Output;
//conn.Open();
//int inserted = 0;
//int lastID = 0;
string insertOffer = "INSERT INTO Offers (userId, column1, column2, column3)
VALUES (SomeINT, 'abc', 'abc', 'abc');select Id=SCOPE_IDENTITY()";
int lastID = 0;
using (SqlConnection conn = new SqlConnection(Connection))
{
conn.Open();
using (SqlCommand comm = new SqlCommand(insertOffer, conn))
{
comm.Parameters.Add(Id);
comm.ExecuteNonQuery();
lastID = Convert.ToInt32(Id.Value);
}//end using comm
}//end using conn