你的Access是否以设计状态打开,如果是的话请先关闭

解决方案 »

  1.   

    试试 1、      If Not (objConn.State = ConnectionState.Closed) Or Not (objConn.State = ConnectionState.Broken) Then
                objConn.Close()
            End IfobjConn.open2、输出Id看看是否真有其行
      

  2.   

    谢谢以上各位
    我可以确定:
      Access没有以设计状态打开
      输出Id确实存在这样的数据
    代码里不是有:
             '修改数据
            'Response.Write(myRows(0)("Title"))
      

  3.   

    什么叫并发冲突:
        
       你先读出数据放入ds,也就是你objCmd.Fill(ds)时同对其进行修改,也就是你的SelectCommand 和UpdateCommand在同时进行,同时对ds对象进行操作,当然这是不允许的,
    所以你这样做就行了:   
            objCmd.fill(ds,"Article")此行移到
        objCmd.SelectCommand=new OledbCommand("select * from Article",objConn)
     

      

  4.   

    kcitwm(广平) 老兄:
    我的程序中
    objCmd.fill(ds,"Article")
    是在
    objCmd.SelectCommand=new OledbCommand("select * from Article",objConn)
    之后啊
      

  5.   

    这样试试:(还不行的话,另外再建一个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")
      

  6.   

    另外查看你的DataSet对应的主键值是否唯一
      

  7.   

    参考下:http://expert.csdn.net/Expert/topic/2602/2602908.xml?temp=.1775019
      

  8.   

    to:76wzc(麦田人)
      谢谢你的指点,鄙人不才,不知道您在此回复中:
    ---------------------------------------------------
    这样试试:(还不行的话,另外再建一个OledbDataAdapter。不过应该没有问题!)
    .....
    ---------------------------------------------------
    修改本人代码那一句,因为我实在看不出来,请明示,谢谢了