试试 1、 If Not (objConn.State = ConnectionState.Closed) Or Not (objConn.State = ConnectionState.Broken) Then objConn.Close() End IfobjConn.open2、输出Id看看是否真有其行
这样试试:(还不行的话,另外再建一个OledbDataAdapter。不过应该没有问题!) dim objConn as new oledbconnection() objConn.ConnectionString="Provider=microsoft.jet.oledb.4.0;" & _ "Data source=" & server.mappath("Story.mdb") objConn.open() dim objCmd as new OledbDataAdapter() objCmd.SelectCommand=new OledbCommand("select * from Article",objConn)
dim ds as new dataset() objCmd.fill(ds,"Article") objConn.close() objCmd.UpdateCommand=new OledbCommand() objCmd.UpdateCommand.CommandText="Update Article Set Title=?,addDate=?" & _ " Where ID=?" objCmd.UpdateCommand.Connection=objConn objCmd.UpdateCommand.Parameters.Add("@Title",OledbType.varchar,nothing,"Title") objCmd.UpdateCommand.Parameters.Add("@addDate",OledbType.DbDate,nothing,"addDate") objCmd.UpdateCommand.Parameters.Add("@ID",DbType.int32,nothing,"ID") objCmd.UpdateCommand.Parameters("@ID").SourceVersion=DataRowVersion.Original dim myRows as DataRow()=ds.Tables("Article").Select("ID=1") '修改数据 'Response.Write(myRows(0)("Title")) myRows(0)("Title")="hahao" objCmd.Update(ds,"Article")
objConn.Close()
End IfobjConn.open2、输出Id看看是否真有其行
我可以确定:
Access没有以设计状态打开
输出Id确实存在这样的数据
代码里不是有:
'修改数据
'Response.Write(myRows(0)("Title"))
你先读出数据放入ds,也就是你objCmd.Fill(ds)时同对其进行修改,也就是你的SelectCommand 和UpdateCommand在同时进行,同时对ds对象进行操作,当然这是不允许的,
所以你这样做就行了:
objCmd.fill(ds,"Article")此行移到
objCmd.SelectCommand=new OledbCommand("select * from Article",objConn)
后
我的程序中
objCmd.fill(ds,"Article")
是在
objCmd.SelectCommand=new OledbCommand("select * from Article",objConn)
之后啊
dim objConn as new oledbconnection()
objConn.ConnectionString="Provider=microsoft.jet.oledb.4.0;" & _
"Data source=" & server.mappath("Story.mdb")
objConn.open()
dim objCmd as new OledbDataAdapter() objCmd.SelectCommand=new OledbCommand("select * from Article",objConn)
dim ds as new dataset()
objCmd.fill(ds,"Article")
objConn.close() objCmd.UpdateCommand=new OledbCommand()
objCmd.UpdateCommand.CommandText="Update Article Set Title=?,addDate=?" & _
" Where ID=?"
objCmd.UpdateCommand.Connection=objConn
objCmd.UpdateCommand.Parameters.Add("@Title",OledbType.varchar,nothing,"Title")
objCmd.UpdateCommand.Parameters.Add("@addDate",OledbType.DbDate,nothing,"addDate")
objCmd.UpdateCommand.Parameters.Add("@ID",DbType.int32,nothing,"ID")
objCmd.UpdateCommand.Parameters("@ID").SourceVersion=DataRowVersion.Original
dim myRows as DataRow()=ds.Tables("Article").Select("ID=1")
'修改数据
'Response.Write(myRows(0)("Title"))
myRows(0)("Title")="hahao"
objCmd.Update(ds,"Article")
谢谢你的指点,鄙人不才,不知道您在此回复中:
---------------------------------------------------
这样试试:(还不行的话,另外再建一个OledbDataAdapter。不过应该没有问题!)
.....
---------------------------------------------------
修改本人代码那一句,因为我实在看不出来,请明示,谢谢了