从sql&中找到最大数量生成下一个号码

时间:2013-01-04 15:39:49

标签: c#-2.0 auto-generate

请帮助我了解c#的新内容只是读了它脚本上的错误它没有生成下一个数字 错误显示“使用分配的局部变量max” 在这一行

"maxCommand.Parameters.Add("@acn", SqlDbType.VarChar).Value = max.ToString();"

完整编码

private void contact_edit_Click(object sender, EventArgs e)
        {
            int max;
            SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=D:\\fuda\\Fuda.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
            con.Open();
            SqlCommand maxCommand = new SqlCommand();
            maxCommand = con.CreateCommand();
            maxCommand.CommandText = ("SELECT max(acn) from contacts");
            maxCommand.Parameters.Add("@acn", SqlDbType.VarChar).Value = max.ToString();
            maxCommand.ExecuteNonQuery();
            max = max ++;
            acn.Text = max.ToString();

        }

如何安排???

example acn = 2253  \\ in table "contact" coulmn acn (A/c number)
if acn = 2253 \\collected max number from acn
acn + 1 \\ add 1 to acn
acn = 2254 \\this should be generate

1 个答案:

答案 0 :(得分:0)

max的启动值未知。分配值可以解决问题。

 int max = 0;

要查找最大值和下一个值,您可以尝试

    maxCommand.CommandText = ("SELECT acn FROM contacts ORDER BY acn DESC");
    SqlDataReader reader = maxCommand.ExecuteReader();
    reader.Read();
    max = Convert.ToInt32(reader[0]); // the max value
    max++;// the next value
    acn.Text = max.ToString();