我用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");

我把第一句注释掉,程序就没有错误。这是怎么回事啊?
...全文
48 点赞 收藏 2
写回复
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的查询没有主键或唯一索引
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告