When a DataRow set with modified rows is passed, the update requires a valid UpdateCommand to solve the problem. updatecommandui
1. At present, there are two main reasons. The first one is that the select statement does not contain the primary key column. select * can solve this problem. Or select primary key column
The primary key here refers to the primary key instead of the unique key.
2. The most important
MySqlDataAdapter mysqglad = new MySqlDataAdapter (sqlstr, mysqlcon );
MySqlCommandBuilder mcb = new MySqlCommandBuilder (mysqglad );
DataSet ds = new DataSet ();
Mysqglad. Fill (ds, "Table1 ");
DataRow dr = ds. Tables ["Table1"]. Rows [0];
If (Convert. ToInt32 (dr ["newsstate"]) = 0)
{
Dr ["newsstate"] = 1;
}
Else
{
Dr ["newsstate"] = 0;
}
Mysqglad. Update (ds, "Table1 ");
Mcb has never used it in the end, but as long as there is such a sentence, the update will not report the above error again. Magic!