0

データベース列の最後の値にアクセスし、それを 1 増やしてテキスト ボックスに表示したいのですが、このコードを使用しましたが、テキスト ボックスに何も表示されません。このコードの何が問題なのですか?

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

int result = ((int)cmd.ExecuteScalar());
textBox1.Text = result.ToString();
4

5 に答える 5

2
SqlCommand cmd = new SqlCommand("SELECT MAX(Account_No)  FROM addcustomer ", my);
int result = ((int)cmd.ExecuteScalar()) + 1;
textBox1.Text = result.ToString();
于 2013-09-04T08:29:39.777 に答える
1

ブラケットの配置が間違っています。これを変える

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

その中に

SqlCommand cmd = new SqlCommand("SELECT MAX(Account_No)  FROM addcustomer ", my);
于 2013-09-04T08:30:13.267 に答える
0
SqlCommand cmd = new SqlCommand("SELECT MAX(Account_No)  FROM addcustomer ", my);
于 2013-09-04T08:29:44.150 に答える
0

以下のように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?
}
于 2013-09-04T08:51:46.220 に答える