sqlite数据库查询批量

采网页里的网址,网址每天都变化,而数据库里有几千条数据,通过 select count(*) 来查找数据库里有没有该网址,没有的话就采集入库,所 以如果网页当天更新1千条连接,那采集一次就要select count(*) 1千次, 1次select count(*) 要对比数据库里的几千条 数据,所以速度慢,请问像下面代码里 的 cmdlist.Add("update NewsAndNotice set ID = " + i + " where ID = " + newsID[i] + ";"); 的 方法,一次性把所有查询语句添到数组后,一次性查询,一次性反回每条查询后的结果!

            //string SQL = "select count(*) from News where SS= ‘网页地址‘";
            //List<string> newsID = SQL_hp.Sql_Column(SQL);

            List<string> cmdlist = new List<string>();
            cmdlist.Add("BEGIN;");
            for (int i = 0; i < newsID.Count; i++)
            {
                cmdlist.Add("update News set ID = " + i + " where ID = " + newsID[i] + ";");
            }
            cmdlist.Add("COMMIT;");
            SQL_hp.Sql_insert(cmdlist);

        public int Sql_insert(List<string> Cmd)
        {
            int tempint = 0;
            while (!ConnOpen())
                Thread.Sleep(100);
            SQLiteCommand command = new SQLiteCommand("", conn);
            foreach (string i in Cmd.ToArray())
            {
                command.CommandText = i;
                try
                {
                    command.ExecuteNonQuery();
                }
                catch { }
            }
            command.Dispose();
            ConnClose();
            return tempint;
        }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。