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就不会再报上述错误,神奇吧