繁体   English   中英

使用Scope_identity和ExecuteNonScalar返回1?

[英]Using Scope_identity with ExecuteNonScalar returns 1?

我正在尝试通过asp.net应用程序返回最后插入的标识值。 我不断得到1.我在做什么错?

码:

    string ID="";
    const string statement = "INSERT INTO asp2(CustomerName,Email,CP,CPN) VALUES(@text1,@text2,@text3,@text4);SELECT SCOPE_IDENTITY()";
    using (var command = new SqlCommand(statement))
    using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ST"].ConnectionString))
    {
        try
        {
            command.Parameters.AddWithValue("@text1", TextBox1.Text);
            command.Parameters.AddWithValue("@text2", TextBox4.Text);
            command.Parameters.AddWithValue("@text3", TextBox2.Text);
            command.Parameters.AddWithValue("@text4", TextBox3.Text);
            connection.Open();
            command.Connection = connection;
            ID = command.ExecuteNonQuery().ToString();
            connection.Close();
        }
        catch{}
   }

ExecuteNonQuery返回受影响的行数。 您必须改为使用ExecuteScalar

ID = (int) command.ExecuteScalar();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM