当data控件.addnew时,出现错误提示:不能更新。数据库或对象是只读的。怎么解决呀?有时候就没有这个问题,有时候就出现。

解决方案 »

  1.   

    数据库打开方式是开放型么?ntfs 格式的有没有加写入1权限?
      

  2.   

    我用的data控件,直接绑定数据库,不是ado,总是提示数据库是只读的,不许更新怎么办?
      

  3.   

    是你的数据库打开的方式不对
    给一个使用控件的例子给你吧。
    With Adodc1
        .CommandType = adCmdUnknown
        .RecordSource = "select * from 品管报表 
        .Refresh
    end with
    如果使用ado对象的话Set Conn = New ADODB.Connection        
    Set rs = New ADODB.Recordset
    StrCon = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=fy;Data Source=FY"
    rs.Open sql, StrCon, adOpenKeyset, adLockOptimistic
    Conn.Open StrCon
    如果是使用datagrid控件的话把datagrid的datagroup的属性赋值成记录集就可以了。
    set datagrid.datasoure = rs
      

  4.   

    我也是用data控件,直接绑定数据库,不是ado的~~把你的代码贴出来~~或许我能帮你~~
      

  5.   

    应该是你的数据库设成只读的吧!照例不会发生这样的问题!!以下是一个简单的利用Data控件实现数据查询的例子
    '添加记录
    Private Sub CommandADD_Click()
      Data1.Recordset.AddNew
    End Sub
    '删除记录
    Private Sub CommandDELE_Click()
       Data1.Recordset.Delete
       If Data1.Recordset.EOF = True Then   '如果删除的是末记录,则
          Data1.Recordset.MoveLast  '如果删除的是末记录,则记录指针移到上一条记录
       Else
          Data1.Recordset.MoveNext '如果删除的不是末记录,则记录指针移到下一条记录
       End If
    End Sub
    Private Sub CommandQUIT_Click()
      Data1.Recordset.Close
      End
    End SubPrivate Sub Form_Load()
        Data1.DatabaseName = App.Path & "\" & "学生管理.mdb"
    End Sub