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就不會再報上述錯誤,神奇吧