我用OleDBAdapter.Update(dataset,"MyTable")报错,怎么办啊?

seerzfm 2004-12-27 05:17:34
报错如下:
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 localhost.WebForm1.LinkButton1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\fsgame\login.aspx.cs:line 73

代码:
dataset.Tables["MyTable"].Rows[0]["Name"] = "zzz";
int result = adapter.Update(ds,"City");

我把第一句注释掉,程序就没有错误。这是怎么回事啊?
...全文
74 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
seerzfm 2004-12-27
  • 打赏
  • 举报
回复
谢谢 ,怎么在selectComand中加主键或唯一索引。?这是我的代码,多谢了
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=Admin;Data Source="
+ Server.MapPath("DataBase\\FSGame.mdb") + ";";
OleDbConnection conn = new OleDbConnection(strConn);
string strCmd = "select CityID,CityName from City";//CityID是主键
OleDbDataAdapter adapter = new OleDbDataAdapter(strCmd,conn);
OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);
conn.Open();
DataSet ds = new DataSet();
adapter.Fill(ds,"City");
ds.Tables["City"].Rows[0]["CityName"] = "zzz";
int result;
result = adapter.Update(ds,"City");
Label1.Text = result.ToString();
conn.Close();
mycjing 2004-12-27
  • 打赏
  • 举报
回复
你的adapter的selectComand的查询没有主键或唯一索引

110,536

社区成员

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

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

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