将sql查询的值返回到C#中的文本框中

本文关键字:文本 返回 sql 查询 | 更新日期: 2023-09-27 18:30:04

我想访问数据库列中的最后一个值,将其递增1并显示在文本框中我使用了这个代码,但文本框上没有显示任何内容。这个代码出了什么问题?

SqlCommand cmd = new SqlCommand("SELECT (MAX[Account_No]  FROM addcustomer ", my);
int result = ((int)cmd.ExecuteScalar());
textBox1.Text = result.ToString();

将sql查询的值返回到C#中的文本框中

SqlCommand cmd = new SqlCommand("SELECT MAX(Account_No)  FROM addcustomer ", my);
int result = ((int)cmd.ExecuteScalar()) + 1;
textBox1.Text = result.ToString();

您放错了括号。更改此

SqlCommand cmd = new SqlCommand("SELECT (MAX[Account_No]  FROM addcustomer ", my);

进入

SqlCommand cmd = new SqlCommand("SELECT MAX(Account_No)  FROM addcustomer ", my);

您可以更改sql语句,如下所示

SELECT MAX(Account_No) + 1 FROM addcustomer

或通过代码选择值后的增量

SqlCommand cmd = new SqlCommand("SELECT MAX(Account_No)  FROM addcustomer ", my);
int result = ((int)cmd.ExecuteScalar()) +1;

最终代码为:

try
{
    using (SqlConnection con = new SqlConnection(connectionString))
    using (SqlCommand cmd = new SqlCommand("SELECT MAX(Account_No) + 1 FROM addcustomer", con))
    {
        con.Open();
        int result = (int)cmd.ExecuteScalar();
        textBox1.Text = result.ToString();
    }
}
catch (SqlException ex)
{
    MessageBox.Show(ex.ToString()); // do you get any Exception here?
}

看起来缺少一个括号:

SqlCommand cmd = new SqlCommand("SELECT (MAX[Account_No]  FROM addcustomer ", my);

应该是

SqlCommand cmd = new SqlCommand("SELECT MAX(Account_No)  FROM addcustomer", my);
SqlCommand cmd = new SqlCommand("SELECT MAX(Account_No)  FROM addcustomer ", my);