[英]how to use scope_identity in visual studio 2005?
Where to put the SELECT SCOPE_IDENTITY()
statement if I want to get the last inserted identity, I put it inside other insert into query but I get nothing.. 如果要获取最后插入的标识,将SELECT SCOPE_IDENTITY()
语句放在哪里,则将其放在查询的其他插入内容中,但一无所获。
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
connection.Open();
string insACmd = "insert into admin (userName, password) values (@userName, @password) SELECT SCOPE_IDENTITY();";
SqlCommand insertAdmin = new SqlCommand(insACmd, connection);
insertAdmin.Parameters.AddWithValue("@userName", TextBox1.Text);
insertAdmin.Parameters.AddWithValue("@password", TextBox2.Text);
string insertedID = insertAdmin.ExecuteScalar().ToString();
connection.Close();
Thanks. 谢谢。
try this ` 试试这个`
SELECT UserId=SCOPE_IDENTITY() SELECT UserId = SCOPE_IDENTITY()
that is if you are using UserId, as the key 也就是说,如果您使用UserId作为密钥
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString))
{
connection.Open();
string insACmd = "insert into admin (userName, password) values (@userName, @password); DECLARE @ID INT OUTPUT; SET @ID=SCOPE_IDENTITY()";
using (SqlCommand insertAdmin = new SqlCommand(insACmd, connection))
{
insertAdmin.Parameters.AddWithValue("@userName", TextBox1.Text);
insertAdmin.Parameters.AddWithValue("@password", TextBox2.Text);
SqlParameter p = new SqlParameter();
p.ParameterName = "@ID";
p.Size = 4;
p.Direction = ParameterDirection.Output;
insertAdmin.Parameters.Add(p);
insertAdmin.ExecuteNonQuery();
int idOut = (int)p.Value;
connection.Close();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.