问题描述
我找的代码是将winform平台将数值导入到access的数据库中但是这样只能一次导入一组,怎么样将一个函数的输出结果导入到access数据库中,我试着加for循环但是无法实现。stringRoadPath="Provider=Microsoft.Jet.OleDb.4.0;Datasource=DataBase.mdb";DataSetds=newDataSet();OleDbConnectionAccessConnect=newOleDbConnection(RoadPath);//定义数据库连接对象AccessConnect.Open();stringReadSql="SELECTxFROMData";OleDbDataAdapteradp=newOleDbDataAdapter(ReadSql,AccessConnect);//从数据库读出数据到数据库适配器stringAdd_Num="insertintoData(x,y)values(1,1)";//构造sql语句OleDbCommandcmd=newOleDbCommand(Add_Num,AccessConnect);//定义Command对象//将账号密码存入数据库cmd.ExecuteNonQuery();//执行Command命令AccessConnect.Close();ds.Dispose();adp.Dispose();AccessConnect.Dispose();AccessConnect.Close();
解决方案
解决方案二:
for循环为何无法实现,发你带for循环的代码看看
解决方案三:
只是在外部加上for循环但是提示是“至少一个参数没有被指定值。”inti;for(i=0;i<10;i++){stringRoadPath="Provider=Microsoft.Jet.OleDb.4.0;Datasource=DataBase.mdb";DataSetds=newDataSet();OleDbConnectionAccessConnect=newOleDbConnection(RoadPath);//定义数据库连接对象AccessConnect.Open();stringReadSql="SELECTxFROMData";OleDbDataAdapteradp=newOleDbDataAdapter(ReadSql,AccessConnect);//从数据库读出数据到数据库适配器stringAdd_Num="insertintoData(x,y)values(i,i)";//构造sql语句OleDbCommandcmd=newOleDbCommand(Add_Num,AccessConnect);//定义Command对象//将账号密码存入数据库cmd.ExecuteNonQuery();//执行Command命令AccessConnect.Close();ds.Dispose();adp.Dispose();AccessConnect.Dispose();AccessConnect.Close();}
解决方案四:
如果是那个错误的话,你的sql语句可能错了
解决方案五:
但没加for之前运行数据是可以导进去的
解决方案六:
sql语句错误"insertintoData(x,y)values(i,i)";这是一个文本sql命令就是insertintoData(x,y)values(i,i)你的Data(x,y)values(i,i)是函数吧?应该为"insertinto"+Data(x,y)+values(i,i);
解决方案七:
stringAdd_Num="insertintoData(x,y)values(i,i)";//构造sql语句应该为stringAdd_Num="insertintoData(x,y)values(“+i.tostring()+","+i.tostring()+")";
解决方案八:
拼接SQL不正确
解决方案九:
引用2楼dyuchao00的回复:
只是在外部加上for循环但是提示是“至少一个参数没有被指定值。”inti;for(i=0;i<10;i++){stringRoadPath="Provider=Microsoft.Jet.OleDb.4.0;Datasource=DataBase.mdb";DataSetds=newDataSet();OleDbConnectionAccessConnect=newOleDbConnection(RoadPath);//定义数据库连接对象AccessConnect.Open();stringReadSql="SELECTxFROMData";OleDbDataAdapteradp=newOleDbDataAdapter(ReadSql,AccessConnect);//从数据库读出数据到数据库适配器stringAdd_Num="insertintoData(x,y)values(i,i)";//构造sql语句OleDbCommandcmd=newOleDbCommand(Add_Num,AccessConnect);//定义Command对象//将账号密码存入数据库cmd.ExecuteNonQuery();//执行Command命令AccessConnect.Close();ds.Dispose();adp.Dispose();AccessConnect.Dispose();AccessConnect.Close();}
把自己要调用的sql打印出来,便于找错插入一条数据,就连接,断开一次,效率会比较低
解决方案十:
Data(x,y)是我这个程序连接的access数据库中的表叫Data,x,y是表中的变量,如果改为“insertinto”+Data(x,y)+values(i,i);程序就在Data及values处报错表示上下文中没出现过。//错误1当前上下文中不存在名称“Data”D:zongheGropReadGropReadForm1.cs3150GropRead
解决方案十一:
嗯嗯效率是比较低,但是把循环加在数据库链接后,也是一样的,都是说“至少一个参数没有被指定值。”
解决方案十二:
早起晚睡谢了,重复导入数据实现了
解决方案十三:
stringAdd_Num="insertintoData(x,y)values(i,i)";//构造sql语句中i是什么?字段名?至少应写作stringAdd_Num="insertintoData(x,y)values("+i+","+i+")";//构造sql语句
解决方案十四:
该回复于2016-02-28 23:37:35被版主删除
解决方案十五:
该回复于2015-12-31 23:42:46被版主删除
解决方案:
Data(x,y)是我这个程序连接的access数据库中的表叫Data,x,y是表中的变量,如果改为“insertinto”+Data(x,y)+values(i,i);程序就在Data及values处报错表示上下文中没出现过。//错误1当前上下文中不存在名称“Data”D:zongheGropReadGropReadForm1.cs3150GropRead
解决方案:
解决方案:
回复有没有积分拿