新手问题:
Access数据表里有180个字段,在Form中对其修改时,我用dbConn=new OleDbConnection(connectstr);
OleDbCommand command = dbConn.CreateCommand();
command.CommandText = name;
command.CommandType = CommandType.TableDirect;
dbAdapter = new OleDbDataAdapter(command);
OleDbCommandBuilder cb=new OleDbCommandBuilder(dbAdapter);
dbAdapter.Update(dataset);对修改后的dataset进行更新,出现错误:System.Data.OleDb.OleDbException: 查询过于复杂。
at System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
at System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable)
at System.Data.Common.DbDataAdapter.Update(DataSet dataSet)
at Common.DataBaseOperator.BackUpdate(DataSet ds, String name) in e:\Irwin\common\databaseoperator.cs:line 234
未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 common.dll 中。
sets 错误: 标识符“sets”超出范围如何解决呢?Update对个数有限定吗?
谢谢!
Access数据表里有180个字段,在Form中对其修改时,我用dbConn=new OleDbConnection(connectstr);
OleDbCommand command = dbConn.CreateCommand();
command.CommandText = name;
command.CommandType = CommandType.TableDirect;
dbAdapter = new OleDbDataAdapter(command);
OleDbCommandBuilder cb=new OleDbCommandBuilder(dbAdapter);
dbAdapter.Update(dataset);对修改后的dataset进行更新,出现错误:System.Data.OleDb.OleDbException: 查询过于复杂。
at System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
at System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable)
at System.Data.Common.DbDataAdapter.Update(DataSet dataSet)
at Common.DataBaseOperator.BackUpdate(DataSet ds, String name) in e:\Irwin\common\databaseoperator.cs:line 234
未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 common.dll 中。
sets 错误: 标识符“sets”超出范围如何解决呢?Update对个数有限定吗?
谢谢!
dbConn=new OleDbConnection(connectstr);
OleDbCommand command=dbConn.CreateCommand();
command.CommandText=name;
command.CommandType=CommandType.TableDirect;
dbAdapter = new OleDbDataAdapter(command);
OleDbCommandBuilder cb=new OleDbCommandBuilder(dbAdapter);
ds=new DataSet();
dbAdapter.Fill(ds);
return ds;
得到dataset ds,然后对ds中row[""]进行修改,然后返回ds,进行updata,没有用到显示sql
字段比较少的表进行增,删,改的时候还好使,表字段一多就不好使了,小弟是菜鸟,刚到门口
,希望哪位牛人能帮我解决下这个问题,不胜感激!!!
首先,我得到数据表的记录(就一条)DataSet ds=GetInformation();GetInformation方法如下:dbConn=new OleDbConnection(connectstr);
OleDbCommand command=dbConn.CreateCommand();
command.CommandText=name;
command.CommandType=CommandType.TableDirect;
dbAdapter = new OleDbDataAdapter(command);
OleDbCommandBuilder cb=new OleDbCommandBuilder(dbAdapter);
ds=new DataSet();
dbAdapter.Fill(ds);
return ds;然后对得到的ds修改:foreach(System.Data.DataRow row in ds.Tables["Table"].Rows)
{
row["编码"]=this.tbReportCode.Text.Trim(); //是从textBox的输入录入
row["名称"]=this.tbReportName.Text.Trim(); //诸如此类的赋值
……
}然后更新ds:BackUpdata(ds)BackUpdata方法:dbConn=new OleDbConnection(connectstr);
OleDbCommand command = dbConn.CreateCommand();
command.CommandText = name;
command.CommandType = CommandType.TableDirect;
dbAdapter = new OleDbDataAdapter(command);
OleDbCommandBuilder cb=new OleDbCommandBuilder(dbAdapter);
dbAdapter.Update(ds);在执行到dbAdapter.Update(ds)时出现前面说的问题
我用相同的过程对字段少的进行修改,通过
希望能帮帮小弟!!!
谢谢了,看来只能用sql修改了!