Как добавить пользовательский номер счета-фактуры типа "INNK-5001" с автоматическим приращением с помощью базы данных sqlite в приложении C# windows
Я использую базу данных SQLITE. Я хочу создать пользовательский номер счета-фактуры, такой как этот "INNK-5001" с автоматическим увеличением INNK-5002, INNK-5003... и так далее. Я пишу ниже код для этой цели. Ниже код работает корректно только в том случае, если я использую только номер типа "5000", но когда я использую "INNK-5000", я получил ошибку. Пожалуйста, помогите мне, как я могу получить этот номер "INNK-5000" с автоматическим приращением с помощью базы данных Sqlite. Это мой код...
Что я уже пробовал:
// Для Создания Базы Данных Sqlite
public void CreateDB() { if (!File.Exists("customid.db")) { SQLiteConnection.CreateFile("customid.db"); using (SQLiteConnection conn = new SQLiteConnection("Data Source=customid.db;Version=3;")) { string commandstring = "CREATE TABLE cusid (Id INTEGER PRIMARY KEY NOT NULL, FirstName NVARCHAR(250), LastName NVARCHAR(250))"; using (SQLiteCommand cmd = new SQLiteCommand(commandstring, conn)) { conn.Open(); cmd.ExecuteNonQuery(); } } } }
// Для Пользовательского Номера Счета-Фактуры
public void CustomId2() { try { using (SQLiteConnection conn = new SQLiteConnection("Data Source=customid.db;Version=3;")) { string CommandText = "SELECT Id FROM cusid"; using (SQLiteDataAdapter sda = new SQLiteDataAdapter(CommandText, conn)) { conn.Open(); DataTable datat = new DataTable(); sda.Fill(datat); if (datat.Rows.Count < 1) { textBox1.Text = "INNK-5000"; } else { using (SQLiteConnection conn1 = new SQLiteConnection("Data Source=customid.db;Version=3;")) { string CommandString = "SELECT MAX(Id) FROM cusid"; using (SQLiteCommand cmd = new SQLiteCommand(CommandString, conn)) { conn1.Open(); int a = Convert.ToInt32(cmd.ExecuteScalar()); a = a + 1; textBox1.Text = a.ToString(); } } } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
// Для сохранения записи в базу данных
private void savebtn_Click(object sender, EventArgs e) { try { using (SQLiteConnection conn = new SQLiteConnection("Data Source=customid.db;Version=3;")) { string CommandText = "INSERT INTO cusid ([Id], [FirstName], [LastName]) VALUES (@id,@firstname,@lastname)"; using (SQLiteCommand cmd = new SQLiteCommand(CommandText, conn)) { cmd.Parameters.AddWithValue("@id", textBox1.Text); cmd.Parameters.AddWithValue("@firstname", textBox2.Text); cmd.Parameters.AddWithValue("@lastname", textBox3.Text); conn.Open(); int a = cmd.ExecuteNonQuery(); if (a > 0) { MessageBox.Show("Data Saved!!"); CustomId2(); BindDataGridView(); } else { MessageBox.Show("Not Saved!!"); } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
Пожалуйста, помогите мне... Спасибо.