Tidak dapat memasukkan record ke database C # SQLite

Nov 23 2020

Saya telah berjuang dengan kesalahan terkait dengan database. Pada dasarnya saya memiliki db SQLite dan saya ingin memasukkan data, tetapi setelah saya menjalankan metode ini, tidak ada data yang ditulis ke db tetapi tidak ada kesalahan yang ditampilkan juga. Ini kode saya: Kelas koneksi db:

class SqlDb
    {
        public static SQLiteConnection SqLiteConnection;
        public static string DATABASE_WAREHOUSE = "DaneDB.db";

        public static string DATABASE_LACZKA =
            $"Data Source= {DATABASE_WAREHOUSE};Version=3;New=False;Compress=True;"; public SQLiteConnection Connect() { try { SqLiteConnection = new SQLiteConnection(DATABASE_LACZKA); SqLiteConnection.Open(); } catch (Exception e) { MessageBox.Show($"Could not connect to the database {e}");
                throw;
            }

            return SqLiteConnection;
        }

        public void Disconnect()
        {
            SqLiteConnection.Close();
        }

    }

dan metode penyisipan

private void LoadToDb_Click(object sender, EventArgs e)
        {
            Data modelData = new Data();
            SqlDb db = new SqlDb();
            SQLiteConnection sqLiteConnection = db.Connect();
            SQLiteCommand sqLiteCommand = sqLiteConnection.CreateCommand();


            try
            {
                modelData.Name = firstName.Text;
                modelData.Age = Convert.ToInt32(DisplayAge.Text);
                modelData.LastName = LastName.Text;

                sqLiteCommand.CommandText =
                    $"insert into DANE values('{modelData.Name}', '{modelData.LastName}', '{modelData.Age}')"; 

                    db.Disconnect();

            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
            }
        }

Saya juga memiliki opsi set database ke:

Build Action: Content
Copy to output directory: Copy always

Jawaban

2 DmitriyGrebennikov Nov 23 2020 at 15:58

Anda lupa menjalankan perintah ini:

sqLiteCommand.ExecuteNonQuery();

Silakan lihat dokumentasi: ExecuteNonQuery