当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand问题解决_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand问题解决

当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand问题解决

 2015/4/23 11:06:06  心存高远  程序员俱乐部  我要评论(0)
  • 摘要:1.目前看主要因为两种,第一种是select语句没有包含主键列,select* 就可以解决。或select主键列这里的主键是指的primarykey而不是uniquekey2.最重要的MySqlDataAdaptermysqlad=newMySqlDataAdapter(sqlstr,mysqlcon);MySqlCommandBuildermcb=newMySqlCommandBuilder(mysqlad);DataSetds=newDataSet();mysqlad.Fill
  • 标签:command 解决 问题解决 问题 有效

1.目前看主要因为两种,第一种是select语句没有包含主键列,select *  就可以解决。或 select 主键列

这里的主键是指的primary key而不是unique key

2.最重要的

MySqlDataAdapter mysqlad = new MySqlDataAdapter(sqlstr, mysqlcon);
MySqlCommandBuilder mcb = new MySqlCommandBuilder(mysqlad);
DataSet ds = new DataSet();
mysqlad.Fill(ds, "Table1");
DataRow dr = ds.Tables["Table1"].Rows[0];
if (Convert.ToInt32(dr["newsstate"]) == 0)
{
dr["newsstate"] = 1;
}
else
{
dr["newsstate"] = 0;
}
mysqlad.Update(ds, "Table1");

mcb到头来也没用过,但只要有这一句,update就不会再报上述错误,神奇吧

发表评论
用户名: 匿名