用DAO? 
我没有试过,用RDO和ADO 我有代码的

解决方案 »

  1.   

    你 rec.Fields(0)的类型是什么??如果不是字符串,估计会有问题!
      

  2.   

    谢谢,能否把RDO的代码发过来!
    我的EMAIL [email protected]
      

  3.   

    换一个参数打开,dbOpenDynaset好象没有edit权限
      

  4.   

    Set r = cnn.OpenResultset("select * from inform where 1=2", 2, 4)(cnn是RDO的联结)
      

  5.   

    to 否法:
       类型是STRING,这个应该没有问题!
       程序在REC.EDIT 就报错!
       我觉得主要问题是 OPENDATABASE 的问题。但是没有相关资料可以查证!!
      

  6.   

    to 风中泪
       dbOpenDynaset好象没有edit权限 ????真的吗
       用什么别的参数?
      

  7.   

    直接openrecordset打开,不加后面的那个参数
    Set rec = dbsPubs.OpenRecordset("select * from Banci")
      

  8.   

    大家都在用ado,你在用dao,很多人都没有深入研究过
      

  9.   

    DAO不能连接ODBC数据源,最好是直接打开数据库,就会没有问题了
      

  10.   

    这是一个老程序,原来数据库是ACCESS,现在数据库转移到SQL上。
    如果不想程序代码改动量大的话,用DAO比较好一些。
    如果用ADO,那么等于重新开发!!让我悲哀的是,整个论坛都没有人懂这个东西吗?
    ADO多么简单啊,带向导。参考资料还这么多!!!我就一个简单问题,用DAO怎么连接SQL?我想随便一个有一点编程经验的人都会吧!
      

  11.   

    dbOpenDynaset用dbopentable
    或者:
        Set rec = dbsPubs.OpenRecordset("Banci")
      

  12.   

    当然不行,因为没有当前纪录,要rec.movefirst之后才可以edit
      

  13.   

    我和你有类似的问题,我使用opendatabase打开foxpro数据库,第一次运行时可以添加数据的,第二次在运行就会报错"数据库或对象是只读的",下面是我的代码:
    Private Sub Form_Load()
    Dim dtbs As Database
    Dim db As Database
    Dim tdf As TableDef
    Dim rst1 As Recordset
    Set dtbs = OpenDatabase("g:\lx", False, False, "foxpro 3.0;")
    Set rst1 = dtbs.OpenRecordset("lxdata", dbOpenDynaset)
    h = rst1.field("a").DataUpdatable
    rst1.MoveFirst
    rst1.AddNew               '出错
    rst1.field("a") = "1111"
    rst1.Update
    y = rst1.RecordCount
    End Sub
    你看问题何在?