private void button_ok_Click(object sender, EventArgs e) { string s1 = textBox_source.Text.Trim(); //原屏蔽词 string s2 = textBox_des.Text.Trim(); //新屏蔽词 string s4 = textBox_desinstead.Text.Trim(); //新替换词 if (s1 == s2) { return; } s1 = s1.Replace("'", "''");//单引号转义 s2 = s2.Replace("'", "''"); s4 = s4.Replace("'", "''"); string sql = "select * from blackWords where words=@word"; //查重 List <SQLiteParameter> parameters = new List <SQLiteParameter>(); parameters.Add(new SQLiteParameter("word", s2)); DataTable table = MySqlite.GetData(sql, parameters); if (table.Rows.Count > 0) { MessageBox.Show("已存在相同项"); return; } sql = "update blackWords set words=@word,@instead=instead,date=@date where words=@oldword"; parameters = new List <SQLiteParameter>(); parameters.Add(new SQLiteParameter("word", s2)); parameters.Add(new SQLiteParameter("instead", s4)); parameters.Add(new SQLiteParameter("date", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); parameters.Add(new SQLiteParameter("oldword", s1)); MySqlite.ExecSql(sql, parameters); Close(); }
//右键--屏蔽 private void 屏蔽选中词语ToolStripMenuItem_Click(object sender, EventArgs e) { string txt = richTextBox1.SelectedText.Trim(); txt = txt.Replace("'", "''"); //单引号转义 string type = "词语"; //添加到数据库 string sql = "insert into blackWords values(@word,'',@type,@date)"; List <SQLiteParameter> parameters = new List <SQLiteParameter>(); parameters.Add(new SQLiteParameter("word", txt)); parameters.Add(new SQLiteParameter("type", type)); parameters.Add(new SQLiteParameter("date", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); MySqlite.ExecSql(sql, parameters); string s = richTextBox1.Text; s = s.Replace(txt, ""); richTextBox1.Text = s.TrimEnd(); BlackWord word = new BlackWord(); word.word = txt; word.type = type; word.instead = ""; blackWords.Add(word); }
void DeleteRecord(int index) { string novel = chapters[index].novel; string sql = "delete from bookshelf where novel=@novel"; List <SQLiteParameter> parameters = new List <SQLiteParameter>(); parameters.Add(new SQLiteParameter("novel", novel)); MySqlite.ExecSql(sql, parameters); GetData(); }
private void button_clr_Click(object sender, EventArgs e) { DialogResult dr = MessageBox.Show("将会清空所有要屏蔽的词语,确认吗?", "提示", MessageBoxButtons.OKCancel); if (dr == DialogResult.OK) { string sql = "delete from blackWords"; MySqlite.ExecSql(sql); listView1.Items.Clear(); } }
private void button_clear_Click(object sender, EventArgs e) { DialogResult dr = MessageBox.Show("确定清空所有章节记录吗?", "提示", MessageBoxButtons.OKCancel); if (dr == DialogResult.OK) { //书架上面的不删 string sql = "delete from chapters where novel not in (select distinct novel from bookshelf) or webindex not in(select distinct webindex from bookshelf) "; MySqlite.ExecSql(sql); listView1.Items.Clear(); //不是虚拟模式,直接clear就好 listView2.VirtualListSize = 0; //虚拟模式下,需要设置size才能清空 GetChapterCount(); //重新获取 } }
/// <summary> /// 阅读记录存入数据库,在书架页面会查询 /// </summary> /// <param name="chapter"></param> void UpdateData(Chapter chapter) { //删除原有的 string sql = "delete from bookshelf where novel=@novel"; List <SQLiteParameter> parameters = new List <SQLiteParameter>(); parameters.Add(new SQLiteParameter("novel", novelName)); MySqlite.ExecSql(sql, parameters); //添加新的记录 sql = "insert into bookshelf values(@novel,@chapter,@webIndex,@site,@date)"; parameters = new List <SQLiteParameter>(); parameters.Add(new SQLiteParameter("novel", chapter.novel)); parameters.Add(new SQLiteParameter("chapter", chapter.chapter)); parameters.Add(new SQLiteParameter("webIndex", Tools.source.ID)); parameters.Add(new SQLiteParameter("site", chapter.site)); parameters.Add(new SQLiteParameter("date", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); MySqlite.ExecSql(sql, parameters); }
private void button_delete_Click(object sender, EventArgs e) { DialogResult dr = MessageBox.Show("确定删除吗?", "提示", MessageBoxButtons.OKCancel); if (dr == DialogResult.OK) { int index = listView1.SelectedIndices[0]; string sql = "delete from chapters where novel=@novel and webIndex=@web and novel not in (select distinct novel from bookshelf) or webindex not in(select distinct webindex from bookshelf) "; List <SQLiteParameter> parameters = new List <SQLiteParameter>(); parameters.Add(new SQLiteParameter("novel", novel)); parameters.Add(new SQLiteParameter("web", sourceIndex[index])); MySqlite.ExecSql(sql, parameters); label_novel.Text = "章节管理"; label_novel.Left = (Width - label_novel.Width) / 2; listView1_SelectedIndexChanged(null, null); GetChapterCount(); } }
private void button_del_Click(object sender, EventArgs e) { DialogResult dr = MessageBox.Show("确定删除吗?", "提示", MessageBoxButtons.OKCancel); if (dr == DialogResult.OK) { string word = listView1.SelectedItems[0].SubItems[0].Text; word = word.Replace("'", "''"); //单引号转义 string date = listView1.SelectedItems[0].SubItems[3].Text; string sql = "delete from blackWords where words=@word and date=@date"; List <SQLiteParameter> parameters = new List <SQLiteParameter>(); parameters.Add(new SQLiteParameter("word", word)); parameters.Add(new SQLiteParameter("date", date)); MySqlite.ExecSql(sql, parameters); listView1_SelectedIndexChanged(null, null); GetData(); } }
/// <summary> /// 把章节列表存入数据库,以便在阅读界面调用 /// </summary> void InsertDB() { string sql = "select count(*) from chapters where webIndex=@ID and novel=@novel"; List <SQLiteParameter> parameters = new List <SQLiteParameter>(); parameters.Add(new SQLiteParameter("ID", Tools.source.ID)); parameters.Add(new SQLiteParameter("novel", tmpNovelName)); int count = Convert.ToInt32(MySqlite.GetFirstResult(sql, parameters)); if (count != chapters.Count) //章节数不一样,再更新数据库 { //删除原有的 sql = "delete from chapters where webIndex=@ID and novel=@novel"; parameters = new List <SQLiteParameter>(); parameters.Add(new SQLiteParameter("ID", Tools.source.ID)); parameters.Add(new SQLiteParameter("novel", tmpNovelName)); MySqlite.ExecSql(sql, parameters); //插入新的 StringBuilder sb = new StringBuilder(); for (int i = 0; i < chapters.Count; i++) { sb.Append("insert into chapters values('"); sb.Append(tmpNovelName).Append("','"); //小说名 sb.Append(chapters[i].chapter).Append("',"); //章节名 sb.Append(Tools.source.ID).Append(",'"); //网站索引 sb.Append(chapters[i].site).Append("');"); //小说地址 if (i % 200 == 0 || i == chapters.Count - 1) { MySqlite.ExecSql(sb.ToString()); sb = new StringBuilder(); } } } Invoke(new Action(delegate { label_state.Text = ""; })); }
private void button_ok_Click(object sender, EventArgs e) { string txt = textBox1.Text.Trim(); if (string.IsNullOrEmpty(txt)) { return; } txt = txt.Replace("'", "''"); //单引号转义 string sql = "select * from blackWords where words=@word"; //查重 List <SQLiteParameter> parameters = new List <SQLiteParameter>(); parameters.Add(new SQLiteParameter("word", txt)); DataTable table = MySqlite.GetData(sql, parameters); if (table.Rows.Count > 0) { MessageBox.Show("已存在相同项"); return; } string txt1 = textBox2.Text.Trim().Replace("'", "''"); string type = "词语"; if (radioButton2.Checked) { type = "正则表达式"; } sql = "insert into blackWords values(@word,@instead,@type,@date)"; parameters = new List <SQLiteParameter>(); parameters.Add(new SQLiteParameter("word", txt)); parameters.Add(new SQLiteParameter("instead", txt1)); parameters.Add(new SQLiteParameter("type", type)); parameters.Add(new SQLiteParameter("date", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); MySqlite.ExecSql(sql, parameters); Close(); }