Работа с БД sqlite

Нужна помощь, открываю таблицу БД sqlite и отображаю в datagridview, у меня есть кнопка добавления новой строки(представил ниже), помощь нужна вот в чем, как сделать, чтобы при добавлении новой строки, она появлялась и в базе данных. И ещё сделать кнопку удаления последней строки из datagridview и БД. Ниже код добавления новой строки:

private void NewRowCreate_Click(object sender, EventArgs e)
    {
        double averageH = 0;
        double delta;

        MainTable.Rows.Add(1);
        int RowCount = MainTable.Rows.Count;

        for (int i = 0; i < RowCount - 2; i++)
        {
            delta = Math.Abs((Convert.ToDouble(MainTable.Rows[i].Cells[1].Value) - Convert.ToDouble(MainTable.Rows[i + 1].Cells[1].Value)));
            averageH += delta;
        }

        averageH = averageH / (RowCount - 2);
        Random random = new Random();

        for (int j = 1; j < MainTable.ColumnCount; j++)
        {
            MainTable.Rows[RowCount - 1].Cells[j].Value = Math.Round(Convert.ToDouble(MainTable.Rows[0].Cells[j].Value) + (random.NextDouble() * (averageH / 2 - (-averageH / 2) + (-averageH / 2))), 4);
        }

        MainTable.Rows[RowCount - 1].Cells[0].Value = RowCount - 1;
    }

Код подключения БД и открытия:

        private SQLiteConnection conn;
    private DataTable dt;

    private bool OpenSQLFile()
    {
        string dbName;

        OpenFileDialog ofd = new OpenFileDialog();
        ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
        ofd.Filter = "Файл базы данных SQLite (*.sqlite)|*.sqlite|Все файлы (*.*)|*.*";

        if (ofd.ShowDialog() == DialogResult.OK)
        {
            conn = new SQLiteConnection("Data Source = " + ofd.FileName + ";Version=3");
            conn.Open();

            dbName = ofd.FileName;

            return true;
        }

        return false;
    }

    private void ConnectTableButton_Click(object sender, EventArgs e)
    {
        OpenSQLFile();

        string SQLQuery = "SELECT name FROM sqlite_master WHERE type='table' ORDER BY name;";
        SQLiteCommand command = new SQLiteCommand(SQLQuery, conn);
        SQLiteDataReader reader = command.ExecuteReader();

        TableList.Items.Clear();
        TableList.Enabled = true;
        OpenTableButton.Enabled = true;

        while (reader.Read())
        {
            TableList.Items.Add(reader.GetString(0));
        }
    }

    private void OpenTableButton_Click(object sender, EventArgs e)
    {
        if (TableList.SelectedIndex == -1)
        {
            MessageBox.Show("Пожалуйста, выберите таблицу", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            return;
        }

        string SQLQuery = "SELECT * FROM [" + TableList.SelectedItem + "] order by 1";

        dt = new DataTable();
        dt.Clear();
        SQLiteDataAdapter adapter = new SQLiteDataAdapter(SQLQuery, conn);
        adapter.Fill(dt);
        NewRowCreate.Enabled = true;

        MainTable.Columns.Clear();
        MainTable.Rows.Clear();

        for (int col = 0; col < dt.Columns.Count; col++)
        {
            string ColName = dt.Columns[col].ColumnName;

            MainTable.Columns.Add(ColName, ColName);
            MainTable.Columns[col].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
        }

        for (int row = 0; row < dt.Rows.Count; row++)
        {
            MainTable.Rows.Add(dt.Rows[row].ItemArray);
        }
     }

Ответы (0 шт):