private void rmGroup_ItemClick(object sender, EventArgs e) { if (sender == riClearStudyRecord) { if (MessageBox.Show(this, "Are you sure you want to clear all the study record in this group? You cannot undo this operation!", "CW Study Tool", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { SQLiteCommand cmd; cmd = new SQLiteCommand("UPDATE words SET `state`=0 WHERE `group`=@group", Gib.con); cmd.Parameters.AddWithValue("@group", Gib.curGroup); cmd.ExecuteNonQuery(); refreshWords(); } } else if (sender == riDelete) { if (MessageBox.Show(this, "Are you sure you want to delete this group and ALL the words in this group? You cannot undo this operation!", "CW Study Tool", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { SQLiteCommand cmd; cmd = new SQLiteCommand("DELETE FROM words WHERE `group`=@group", Gib.con); cmd.Parameters.AddWithValue("@group", Gib.curGroup); cmd.ExecuteNonQuery(); cmd = new SQLiteCommand("DELETE FROM groups WHERE `id`=@id", Gib.con); cmd.Parameters.AddWithValue("@id", Gib.curGroup); cmd.ExecuteNonQuery(); refreshGroups(); lvGroups_SelectedIndexChanged(sender, e); } } else if (sender == riExport) { saveFileDialog.FileName = "My Group.cgdb"; saveFileDialog.Filter = "CW Study Tool 4 Word Group (*.cgdb)|*.cgdb"; if (saveFileDialog.ShowDialog(this) == DialogResult.OK) { SQLiteConnection econ = new SQLiteConnection("Data Source =" + saveFileDialog.FileName); econ.Open(); SQLiteCommand cmdCreateTable = new SQLiteCommand("CREATE TABLE IF NOT EXISTS `words` (`word` TEXT, `trans` TEXT);", econ); cmdCreateTable.ExecuteNonQuery(); SQLiteCommand cmdSearch, cmdAdd; SQLiteDataReader reader; string insertSQL = "INSERT INTO words (`word`, `trans`) VALUES (@word, @trans)"; cmdSearch = new SQLiteCommand("SELECT * FROM words WHERE `group`=@group", Gib.con); cmdSearch.Parameters.AddWithValue("@group", Gib.curGroup); reader = cmdSearch.ExecuteReader(); while (reader.Read()) { cmdAdd = new SQLiteCommand(insertSQL, econ); cmdAdd.Parameters.AddWithValue("@word", reader["word"].ToString()); cmdAdd.Parameters.AddWithValue("@trans", reader["trans"].ToString()); cmdAdd.ExecuteNonQuery(); } econ.Close(); econ.Dispose(); ToastNotification.Show(this, "This group of words has been successfully exported", null, 2000); } } else if (sender == riRename) { FrmRenameGroup frm = new FrmRenameGroup(); frm.ShowDialog(this); } }