我在操作时将表导入到ACCESS库中。并立刻将其打开。同时在datagrid中对其进行编辑,然后点击了按钮将修改的值传回数据库中。
下面是对datagrid提交按钮的代码:
adapter.Update(ds1,Form6.execlname);string select="select * from "+Form6.execlname;
adapter=new OleDbDataAdapter(select ,con);//通过conn连接由服务器检查
ds1=new DataSet();
adapter.Fill(ds1,Form6.execlname);//邦定倥件 “ ”是别名
dataGrid1.DataSource=ds1;//数据集=数据原
dataGrid1.SetDataBinding(ds1,Form6.execlname);//直接显示
cmdBuilder.DataAdapter=adapter;//试配器
dataGrid1.Refresh();
然后就是导出按钮。以下是出错地方的代码。OleDbTransaction myTrans =conn.BeginTransaction();
string mySelectQuery1 = "SELECT 学号,姓名,平时成绩,期中成绩,实验室践,期末成绩,总评成绩 FROM "+Form6.execlname ;
OleDbCommand b1 = new OleDbCommand(mySelectQuery1,conn,myTrans);
OleDbDataReader reader11=b1.ExecuteReader() ; 出错信息为:Microsoft Jet 数据库引擎找不到输入表或查询 ’a'
a为form6.execlname既表名。我查了ACCESS库里也已经有a表了。为什么说没有找到呢???
请高人指教!
下面是对datagrid提交按钮的代码:
adapter.Update(ds1,Form6.execlname);string select="select * from "+Form6.execlname;
adapter=new OleDbDataAdapter(select ,con);//通过conn连接由服务器检查
ds1=new DataSet();
adapter.Fill(ds1,Form6.execlname);//邦定倥件 “ ”是别名
dataGrid1.DataSource=ds1;//数据集=数据原
dataGrid1.SetDataBinding(ds1,Form6.execlname);//直接显示
cmdBuilder.DataAdapter=adapter;//试配器
dataGrid1.Refresh();
然后就是导出按钮。以下是出错地方的代码。OleDbTransaction myTrans =conn.BeginTransaction();
string mySelectQuery1 = "SELECT 学号,姓名,平时成绩,期中成绩,实验室践,期末成绩,总评成绩 FROM "+Form6.execlname ;
OleDbCommand b1 = new OleDbCommand(mySelectQuery1,conn,myTrans);
OleDbDataReader reader11=b1.ExecuteReader() ; 出错信息为:Microsoft Jet 数据库引擎找不到输入表或查询 ’a'
a为form6.execlname既表名。我查了ACCESS库里也已经有a表了。为什么说没有找到呢???
请高人指教!
既我前面需要用到ExecuteReader() 执行。当执行到inst.ExecuteNonQuery()提示出错要我关闭Reader。我想问问这两种执行方法有没什么冲突吗?