myAdapter.Update出现异常?

snakers 2005-11-29 10:47:25
string myStrConnection= "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB="+strDirectory+";";
string myStrSelect="SELECT 克数 FROM "+strDirectory+" where 克数>4";
myConn = new OdbcConnection(myStrConnection);
DataSet myDs=new DataSet();
myConn.Open();
myAdapter =new OdbcDataAdapter(myStrSelect,myConn);
OdbcCommandBuilder myCommandBuilder = new OdbcCommandBuilder(myAdapter);
myAdapter.Fill(myDs,"aa");
myDs.Tables ["aa"].Rows [0]["克数"]="100";
myAdapter.Update(myDs,"aa");

运行到myAdapter.Update(myDs,"aa");弹出异常:
未处理的“System.InvalidOperationException”类型的异常出现在 system.data.dll 中。

其他信息: 对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成。
...全文
114 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nilliu 2005-12-07
  • 打赏
  • 举报
回复
在Visual FoxPro 中将这个表中得”克数“字段设置主键
snakers 2005-11-29
  • 打赏
  • 举报
回复
我在myAdapter.Fill(myDs,"aa");后加上:
DataColumn[] keys=new DataColumn [1];
keys[0]=myDs.Tables ["aa"].Columns ["克数"];
myDs.Tables ["aa"].PrimaryKey =keys;
但异常仍旧。
未处理的“System.InvalidOperationException”类型的异常出现在 system.data.dll 中。

其他信息: 对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成。
wwp4787 2005-11-29
  • 打赏
  • 举报
回复
你的这个表”克数“里面没设置主键。你设置后再试。
snakers 2005-11-29
  • 打赏
  • 举报
回复
我在myAdapter.Fill(myDs,"aa");前加上:
myAdapter.MissingSchemaAction =MissingSchemaAction.AddWithKey ;
但异常仍旧。
未处理的“System.InvalidOperationException”类型的异常出现在 system.data.dll 中。

其他信息: 对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成。

43720938 2005-11-29
  • 打赏
  • 举报
回复
数据表设个主键就OK啦
ljleager 2005-11-29
  • 打赏
  • 举报
回复
数据表没有设主键
snakers 2005-11-29
  • 打赏
  • 举报
回复
????
ljleager 2005-11-29
  • 打赏
  • 举报
回复
注意,"主键"应该在数据库端设置
snakers 2005-11-29
  • 打赏
  • 举报
回复
up

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧