예제 #1
0
        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();
        }
예제 #2
0
        //右键--屏蔽
        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);
        }
예제 #3
0
        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();
        }
예제 #4
0
        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();
            }
        }
예제 #5
0
        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();             //重新获取
            }
        }
예제 #6
0
        /// <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);
        }
예제 #7
0
        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();
            }
        }
예제 #8
0
        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();
            }
        }
예제 #9
0
        /// <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 = "";
            }));
        }
예제 #10
0
        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();
        }