Example #1
0
        //导出数据db3
        public void OutPut(GetTotalDelegateOutPut gettotaldelegateoutput, System.Diagnostics.Stopwatch sw, System.Windows.Forms.RichTextBox rich)
        {
            wznr_Servise wznr         = new wznr_Servise();
            int          totalRecords = 0;
            string       dbn          = "SpiderResult.db3";//数据库文件名称

            // 创建数据库文件
            File.Delete(dbn);
            SQLiteConnection.CreateFile(dbn);
            DbProviderFactory factory = SQLiteFactory.Instance;

            using (DbConnection conn = factory.CreateConnection())
            {
                // 连接数据库
                conn.ConnectionString = "Data Source=" + dbn + "";
                conn.Open();
                // 创建数据表
                string    sql = "CREATE TABLE Content([ID] integer primary key autoincrement,[已采] tinyint(1) default 0,[已发] tinyint(1) default 0,[标题] Text,[内容] Text,[PageUrl] Text)";
                DbCommand cmd = conn.CreateCommand();
                cmd.Connection  = conn;
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();
                sw.Start();
                DbTransaction trans = conn.BeginTransaction(); // <-------------------
                try
                {
                    // 查询出数据导出 通过数据库查询出
                    DataTable dt = wznr.GetDataTable("SELECT Title, p FROM test5Table");

                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        totalRecords++;
                        gettotaldelegateoutput(totalRecords);
                        cmd.CommandText = "insert into [Content] ([已采],[已发],[标题],[内容],[PageUrl]) values (?,?,?,?,?)";
                        SQLiteParameter[] parameter =
                        {
                            new SQLiteParameter("@[已采]",      DbType.Byte,    1),
                            new SQLiteParameter("@[已发]",      DbType.Byte,    1),
                            new SQLiteParameter("@[标题]",      DbType.Object),
                            new SQLiteParameter("@[内容]",      DbType.Object),
                            new SQLiteParameter("@[PageUrl]", DbType.Object)
                        };
                        //foreach (SQLiteParameter p in parameter)
                        //{
                        //    cmd.Parameters.Add(p);
                        //}
                        cmd.Parameters[0].Value = 1;
                        cmd.Parameters[1].Value = 0;
                        cmd.Parameters[2].Value = dt.Rows[i][0].ToString();
                        cmd.Parameters[3].Value = dt.Rows[i][1].ToString();
                        cmd.Parameters[4].Value = "http://www.9111766.com";
                        //rich.Text += cmd.Parameters[2].Value.ToString()+"-----导出成功\n";
                        //StreamWriter sr = File.CreateText(dt.Rows[i][0].ToString().Trim()+".txt");
                        //sr.WriteLine(dt.Rows[i][0].ToString()+"\n"+dt.Rows[i][1].ToString());
                        //sr.Close();
                        rich.AppendText(cmd.Parameters[2].Value.ToString() + "-----导出成功\n");
                        rich.ForeColor = System.Drawing.Color.Green;//ConsoleColor.Green;
                        rich.Focus();
                        cmd.ExecuteNonQuery();
                    }
                    trans.Commit(); // <-------------------
                }
                catch
                {
                    trans.Rollback(); // <-------------------
                    throw;            // <-------------------
                }
                // 停止计时
                sw.Stop();
            }
        }
Example #2
0
        //导出access数据库

        public void access_OutPut(GetTotalDelegateOutPut gettotaldelegateoutput, System.Diagnostics.Stopwatch sw, System.Windows.Forms.RichTextBox rich)
        {
            wznr_Servise wznr         = new wznr_Servise();
            int          totalRecords = 0;
            string       dbn          = System.AppDomain.CurrentDomain.BaseDirectory + "Access_Data\\" + "SpiderResult.mdb";//数据库文件名称

            // 创建数据库文件
            File.Delete(dbn);
            ADOX.Catalog catalog = new Catalog();
            catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbn + ";Jet OLEDB:Engine Type=5");
            OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbn);

            conn.Open();
            // 创建数据表
            string       sql = "CREATE TABLE Content([ID] Counter primary key,[已采] Bit,[已发] Bit,[标题] Memo,[内容] Memo,[PageUrl] Memo)";
            OleDbCommand cmd = conn.CreateCommand();

            cmd.Connection  = conn;
            cmd.CommandText = sql;
            cmd.ExecuteNonQuery();
            sw.Start();
            //DbTransaction trans = conn.BeginTransaction(); // <-------------------
            try
            {
                // 查询出数据导出 通过数据库查询出
                DataTable dt = wznr.GetDataTable("SELECT Title, p FROM test5Table order by NEWID()");

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    totalRecords++;
                    gettotaldelegateoutput(totalRecords);
                    //cmd.CommandText = "insert into [Content] ([已采],[已发],[标题],[内容],[PageUrl]) values (?,?,?,?,?)";
                    string           strSql    = "insert into [Content]([已采],[已发],[标题],[内容],[PageUrl]) values(?,?,?,?,?)";
                    OleDbParameter[] parameter =
                    {
                        new OleDbParameter("@[已采]",      OleDbType.Boolean, 1),
                        new OleDbParameter("@[已发]",      OleDbType.Boolean, 1),
                        new OleDbParameter("@[标题]",      OleDbType.VarChar, 0),
                        new OleDbParameter("@[内容]",      OleDbType.VarChar, 0),
                        new OleDbParameter("@[PageUrl]", OleDbType.VarChar, 0)
                    };

                    parameter[0].Value = 1;
                    parameter[1].Value = 0;
                    parameter[2].Value = dt.Rows[i][0].ToString();
                    parameter[3].Value = dt.Rows[i][1].ToString();
                    parameter[4].Value = "http://www.xxx.com.cn";
                    rich.AppendText(parameter[2].Value.ToString() + "-----导出成功\n");
                    rich.ForeColor = System.Drawing.Color.Green;//ConsoleColor.Green;
                    rich.Focus();
                    DbHelperOleDb.GetSingle(strSql.ToString(), parameter);

                    //cmd.ExecuteNonQuery();
                }
                //trans.Commit(); // <-------------------
            }
            catch
            {
                // trans.Rollback(); // <-------------------
                throw; // <-------------------
                //   }
                // 停止计时
            }
            sw.Stop();
        }