我需要把一个access数据的表里面的数据导入到另外一个access的已经存在的表。写了代码: string myConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = D:\\Program Files\\Tencent\\QQ\\Users\\228669021\\FileRecv\\7Nk3Lj0Im7Sx.mdb"; //Data Source = 数据库绝对路径 string mySelectQuery = "select * from Sd_Info where id > 22";//查询语句 OleDbConnection myConnection = new OleDbConnection(myConnectionString); OleDbCommand myCommand = new OleDbCommand(mySelectQuery, myConnection); myConnection.Open(); OleDbDataReader myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection); while (myReader.Read())
{
string str1 = myReader.GetString(1);
string str2 = myReader.GetString(2);
string str3 = myReader.GetInt32(3).ToString();
string str4 = myReader.GetString(4);
string str5 = myReader.GetString(5);
string str6 = myReader.GetDateTime(6).ToString();
string str7 = myReader.GetInt32(7).ToString();
string str8 = myReader.GetString(8);
string str9 = myReader.GetInt32(9).ToString();
string str10 = myReader.GetInt32(10).ToString();
string str11 = myReader.GetInt32(11).ToString();
string str12 = myReader.GetInt32(12).ToString();
string str13 = myReader.GetInt32(13).ToString();
string str14 = myReader.GetInt32(14).ToString();
string str15 = myReader.GetString(15);
string str16 = myReader.GetString(16);
string str17 = myReader.GetString(17);
string str18 = myReader.GetInt32(18).ToString();
string str19 = myReader.GetInt32(19).ToString();
string str20 = myReader.GetInt32(20).ToString();
string str21 = myReader.GetDateTime(21).ToString();
string str22 = myReader.GetInt32(22).ToString();
string str23 = myReader.GetInt32(23).ToString();
string str25 = myReader.GetString(25);
string str26 = myReader.GetInt32(26).ToString();
string str27 = myReader.GetInt32(27).ToString();
string str28 = myReader.GetDateTime(28).ToString();
string str29 = myReader.GetInt32(29).ToString();
string str30 = myReader.GetInt32(30).ToString();
string str31 = myReader.GetString(31); string myConnectionStrings = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = D:\\Program Files\\Tencent\\QQ\\Users\\228669021\\FileRecv\\l$a#d$y$10#7Wf4Mz2Id7Dv.mdb"; //Data Source = 数据库绝对路径 string myExecuteQuerys = "insert into Sd_Info (title,pic,ispic,author,comefrom,adddate,hits,content,comment_num,classid,isnice,ontop,ispass,userid,jj,htmlname,keyword,dayhits,weekhits,monthhits,lasthitsdate,issdcms,isurl,url,tags,iscreate,iscomment,lastupdate,Topic,LikeIDType,LikeID) values ('" + str1 + "','" + str2 + "','" + str3 + "','" + str4 + "','" + str5 + "','" + str6 + "','" + str7 + "','" + str8 + "','" + str9 + "','" + str10 + "','" + str11 + "','" + str12 + "','" + str13 + "','" + str14 + "','" + str15 + "','" + str16 + "','" + str17 + "','" + str18 + "','" + str19 + "','" + str20 + "','" + str21 + "','" + str22 + "','" + str23 + "','','" + str25 + "','" + str26 + "','" + str27 + "','" + str28 + "','" + str29 + "','" + str30 + "','" + str31 + "')";//增、删、改等语句 OleDbConnection myConnections = new OleDbConnection(myConnectionStrings); OleDbCommand myCommands = new OleDbCommand(myExecuteQuerys, myConnections); myCommands.Connection.Open(); int i = myCommands.ExecuteNonQuery();//返回影响的行数 myConnections.Close(); myReader.Close(); }
我对access数据库不是很了解,写入数据库的时候代码是没有问题的,但是如果写入的数据中存在特殊符号就会出现错误。无法写入。请问有什么方法可以解决这个问题么?
{
string str1 = myReader.GetString(1);
string str2 = myReader.GetString(2);
string str3 = myReader.GetInt32(3).ToString();
string str4 = myReader.GetString(4);
string str5 = myReader.GetString(5);
string str6 = myReader.GetDateTime(6).ToString();
string str7 = myReader.GetInt32(7).ToString();
string str8 = myReader.GetString(8);
string str9 = myReader.GetInt32(9).ToString();
string str10 = myReader.GetInt32(10).ToString();
string str11 = myReader.GetInt32(11).ToString();
string str12 = myReader.GetInt32(12).ToString();
string str13 = myReader.GetInt32(13).ToString();
string str14 = myReader.GetInt32(14).ToString();
string str15 = myReader.GetString(15);
string str16 = myReader.GetString(16);
string str17 = myReader.GetString(17);
string str18 = myReader.GetInt32(18).ToString();
string str19 = myReader.GetInt32(19).ToString();
string str20 = myReader.GetInt32(20).ToString();
string str21 = myReader.GetDateTime(21).ToString();
string str22 = myReader.GetInt32(22).ToString();
string str23 = myReader.GetInt32(23).ToString();
string str25 = myReader.GetString(25);
string str26 = myReader.GetInt32(26).ToString();
string str27 = myReader.GetInt32(27).ToString();
string str28 = myReader.GetDateTime(28).ToString();
string str29 = myReader.GetInt32(29).ToString();
string str30 = myReader.GetInt32(30).ToString();
string str31 = myReader.GetString(31); string myConnectionStrings = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = D:\\Program Files\\Tencent\\QQ\\Users\\228669021\\FileRecv\\l$a#d$y$10#7Wf4Mz2Id7Dv.mdb"; //Data Source = 数据库绝对路径 string myExecuteQuerys = "insert into Sd_Info (title,pic,ispic,author,comefrom,adddate,hits,content,comment_num,classid,isnice,ontop,ispass,userid,jj,htmlname,keyword,dayhits,weekhits,monthhits,lasthitsdate,issdcms,isurl,url,tags,iscreate,iscomment,lastupdate,Topic,LikeIDType,LikeID) values ('" + str1 + "','" + str2 + "','" + str3 + "','" + str4 + "','" + str5 + "','" + str6 + "','" + str7 + "','" + str8 + "','" + str9 + "','" + str10 + "','" + str11 + "','" + str12 + "','" + str13 + "','" + str14 + "','" + str15 + "','" + str16 + "','" + str17 + "','" + str18 + "','" + str19 + "','" + str20 + "','" + str21 + "','" + str22 + "','" + str23 + "','','" + str25 + "','" + str26 + "','" + str27 + "','" + str28 + "','" + str29 + "','" + str30 + "','" + str31 + "')";//增、删、改等语句 OleDbConnection myConnections = new OleDbConnection(myConnectionStrings); OleDbCommand myCommands = new OleDbCommand(myExecuteQuerys, myConnections); myCommands.Connection.Open(); int i = myCommands.ExecuteNonQuery();//返回影响的行数 myConnections.Close(); myReader.Close(); }
我对access数据库不是很了解,写入数据库的时候代码是没有问题的,但是如果写入的数据中存在特殊符号就会出现错误。无法写入。请问有什么方法可以解决这个问题么?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货