日期:2014-05-18  浏览次数:21010 次

Update 无法找到 TableMapping['table'] 或 DataTable“table” 急!!
代码如下:
public DataSet UpdateByDataSet(DataSet ds)
{  
  SqlCommand myCommand = new SqlCommand("select * from financetable", conn);  
  SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand );  
  SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);  
  myAdapter.InsertCommand = myCommandBuilder .GetInsertCommand();
  myAdapter.UpdateCommand = myCommandBuilder .GetUpdateCommand();
  myAdapter.DeleteCommand = myCommandBuilder .GetDeleteCommand();
  try
{
  conn.Open();
  myAdapter.Fill(ds);
  myAdapter.Update(ds,"financetable" ); //这里报错 Update 无法找到 TableMapping['financetable'] 或 DataTable“financetable”
  conn.Close();
   
}
catch(Exception err)
{
  err.ToString();
  conn.Close(); 
}
  return ds;
}

------解决方案--------------------
你这个方法没有定义Dataset,或者DataSet的访问级别限制导致你的方法访问不了DataSet
------解决方案--------------------
定义Dataset实例 然后再填充表格
------解决方案--------------------
myAdapter.Fill(ds,"financetable");

myAdapter.Fill(ds); //改成上面哪句
myAdapter.Update(ds,"financetable" ); //这里报错 Update 无法找到 TableMapping['financetable'] 或 DataTable“financetable”

------解决方案--------------------
myAdapter.Fill(ds,"financetable");

myAdapter.Fill(ds); //改成上面哪句
------解决方案--------------------
你都没定义update的command怎么让数据库update
------解决方案--------------------
表有主键不???
------解决方案--------------------
探讨
改过了,现在不报错,但是数据库数据并没有修改

------解决方案--------------------
探讨
引用:
改过了,现在不报错,但是数据库数据并没有修改


myAdapter.Fill(ds); //填充查询数据至数据集
myAdapter.Update(ds,"financetable" ); //Update方法是根据DataTable里的行状态来提交数据的,你的数据自上次填充后,无任何变化(没有新增,也没有删除和修改)。即里面所有行的Data……

------解决方案--------------------
探讨
引用:
引用:
引用:
改过了,现在不报错,但是数据库数据并没有修改


myAdapter.Fill(ds); //填充查询数据至数据集
myAdapter.Update(ds,"financetable" ); //Update方法是根据DataTable里的行状态来提交数据的……

------解决方案--------------------
探讨
myAdapter.Fill(ds,"financetable");

myAdapter.Fill(ds); //改成上面哪句

------解决方案--------------------
myAdapter.Fill(ds,"financetable");
//接下句,绑定界面上的DataGridView控件。。
datagridview1.datasource=ds.tables["financetable"]



//中间你要在datagridview更改数据后,再操作这条语句才有效果,这条语句写在[保存更新]的按钮事件中。。
//myAdapter变量应该定义为类变量,声明在页首
//点击保存按钮后执行下句。。
 myAdapter.Update(ds,"financetable" );