//导出数据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(); } }
//导出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(); }