提示是:Update 无法找到 TableMapping['table'] 或 DataTable“table”
我检查了一下dataset,也就是changedDs,表名都与数据库一致,数据都正确更新了,但update就报错简化后代码如下:DataSet changedDs = new DataSet();
string sql1 = "select * from t_lot order by qishuTotal DESC";
OleDbDataAdapter da = new OleDbDataAdapter(sql1, dbconn);
da.Fill(changedDs, "t_lot");
DataTable dt1 = changedDs.Tables["t_lot"];
dt1.PrimaryKey = new DataColumn[] { dt1.Columns["ID"] };
Datarow row = dt1.NewRow();
for (int i = 0 ; i <= dt1.Columns.Count - 1 ; i++ )
{
row[i] = arr[i];
}
dt1.Rows.Add(row);
OleDbCommandBuilder oleCB = new OleDbCommandBuilder(da);
da.Update(changedDs); //这里报错:Update 无法找到 TableMapping['table'] 或 DataTable“table”
查了很多资料都没有解决,请高手解答问题出在哪?在线急等
另:麻烦版主把先前复杂的代码删了,保留这个
我检查了一下dataset,也就是changedDs,表名都与数据库一致,数据都正确更新了,但update就报错简化后代码如下:DataSet changedDs = new DataSet();
string sql1 = "select * from t_lot order by qishuTotal DESC";
OleDbDataAdapter da = new OleDbDataAdapter(sql1, dbconn);
da.Fill(changedDs, "t_lot");
DataTable dt1 = changedDs.Tables["t_lot"];
dt1.PrimaryKey = new DataColumn[] { dt1.Columns["ID"] };
Datarow row = dt1.NewRow();
for (int i = 0 ; i <= dt1.Columns.Count - 1 ; i++ )
{
row[i] = arr[i];
}
dt1.Rows.Add(row);
OleDbCommandBuilder oleCB = new OleDbCommandBuilder(da);
da.Update(changedDs); //这里报错:Update 无法找到 TableMapping['table'] 或 DataTable“table”
查了很多资料都没有解决,请高手解答问题出在哪?在线急等
另:麻烦版主把先前复杂的代码删了,保留这个
解决方案 »
- 琢磨半天也没弄明白该把这个值怎么取出来
- 用C#做视频编辑
- 字符串初始化时,s="" 好呢?还是 s=null 好呢?区别有多大?
- 求高手帮写一个数据库查询语句(帮顶加分)
- 使用commandname 删除
- 如何判定当前的 textBox 输入为小写或者大写, 并做相应的转换?
- 如何判断一条字符串是有效的日期型数据。代码如下
- C# 操作大xml文件(200M),进行节点删除,有没有比较高效的办法
- 请教Web Services的分布式创建和引用的问题?急!!!!!
- 请问如何读取 SQL 数据库中一个表的全部记录的字段值,再与 textBox1.Text 比较!(高手相送)
- Winform打开浏览器的简单问题
- 通过web service编写了一个版本更新程序,首先查看客户端和服务端的版本号,如果服务端大于客户端,就下载文件。
DataTable dt1 = changedDs.Tables["t_lot"];
dt1.PrimaryKey = new DataColumn[] { dt1.Columns["ID"] };
你把这两句合成一句试试 也就是说不需要重新定义个datatable
而改为直接dataset.table[""]之类的 这里乱写的 思路就是这个 你试试。
da.Update(changedDs);
和
da.Fill(changedDs);
参数数量和类型必须完全一致,否则vs会莫名其妙的在Dataset中给你添加一个看见或看不见的"Table"表
至于为什么,还是没找到具体原因