...
mycommand=new oledbdataadapter("select * from table1 where id=1000",myconnection)
OleDbCommandBuilder cb=new OleDbCommandBuilder(mycommand);
...
dim myrow as datarow
myrow=mydataset.tables("a").rows(0)
myrow("id")="2000"
...
mycommand.Update(mydataset);
mycommand=new oledbdataadapter("select * from table1 where id=1000",myconnection)
OleDbCommandBuilder cb=new OleDbCommandBuilder(mycommand);
...
dim myrow as datarow
myrow=mydataset.tables("a").rows(0)
myrow("id")="2000"
...
mycommand.Update(mydataset);
string UpdateStr="Update table1 set ID='2000' WHERE (ID= '1000')";//ID不能为标识
OleDbCommand MyComm = new OleDbCommand(UpdateStr , MyConnection);
try
{
MyComm.Connection.Open();
MyComm.ExecuteNonQuery();
}
catch
{
;
}
finally
{
MyComm.Connection.Close();
MyConnection.Close();
}
...
如果你只是修改数据库纪录最好不要用“oledbdataadapter”与“DataSet”(在需要显示数据的时候用),那样太浪费服务器资源了。
myrow=mydataset.tables("a").rows(0)
因为你 OleDbDataAdapter 的 SELECT 语句没有一个名字或别名叫 "a" 的数据表。剩下的代码看不出来什么问题,当然,BeginEdit 和 EndEdit 一般不需要显示调用。当你用
myrow("field_name") = some_value
更改数据的时候,BeginEdit 自动调用。