Как увеличить идентификатор счета при клике - PullRequest
0 голосов
/ 06 октября 2019

Я хочу создать программу, когда при нажатии на печать вид сетки данных возвращается к нормальному состоянию, а идентификатор счета увеличивается на единицу в текстовом поле или метке.

Моя программа: https://imgur.com/7vqQqfZ

Моя база данных: https://imgur.com/S3Q8TkJ

Я пробовал какой-то код, но он не работал вообще.

Вот моя последняя попытка:

con.Open();

SqlCommand cmd = new SqlCommand("select max (Invoice_ID) + 1 from Student_Databse_2019_HW1", con);

SqlDataReader dr = cmd.ExecuteReader();

if(dr.HasRows)
{
    while(dr.Read())
    {
        textBox1.Text = dr[0].ToString();

        if(textBox1.Text == "")
        {
            textBox1.Text = "1";
        }
        else
        {
            textBox1.Text = "1";
        }

        con.Close();
    }
}

Этомое сообщение об ошибке

Произошло необработанное исключение типа 'System.Data.SqlClient.SqlException' в System.Data.dll

Дополнительная информация: Неверное имя объекта 'Student_Databse_2019_HW1'.

Ответы [ 2 ]

0 голосов
/ 06 октября 2019

Использовать фактическое имя таблицы, которое равно Table_Order, в команде sql

SqlCommand cmd = new SqlCommand("select max (Invoice_ID)+1 from Table_Order",con);
0 голосов
/ 06 октября 2019

Вам нужно настроить таргетинг на таблицу, содержащую данные, а не на базу данных.

В вашем SqlCommand вы делаете new SqlCommand("select max (Invoice_ID)+1 from Student_Databse_2019_HW1",con);

Теперь этопереводится как запрос в Select ... from table Student_Databse_2019_HW1, и, поскольку это не таблица, а фактическая база данных, она не выполняется.

Измените запрос, чтобы настроить таргетинг на таблицу. Никогда не требуется указывать базу данных внутри команды sql, поскольку вы уже определили каталог базы данных в свойстве con.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...