上面一段话没有显示出来,重说,我放错地方了,放在了VC++区了,
我没有点数再放这里了,请各位帮忙到VC++区回答
一下,我在那里给分。
谢谢我真的很急

解决方案 »

  1.   

    提示:
     tomPeakz(马中赤兔) 说到: 
     
      我的记忆里面是:
    老师说过-使用AddNew方法时,打开数据库的方法是特殊的,
    要加入“8”还是什么属性的,(时间太长,忘了)
    就是Open数据库的时候,要有这个标志,查查ADO参考。
      

  2.   

    http://www.csdn.net/expert/topic/563/563736.xml?temp=.1031
      

  3.   

    我只会ADO,不会[email protected]
      

  4.   

    下面的代码:
        dim jyrshot2 as new ADODB.RecordSet
        Dim jyrsql2 As String
        jyrsql2 = "SELECT * FROM vin_color "
        jyrshot2.open jyrsql2, cn, adOpenDynamic, adLockOptimistic ,adCmdText
    或者:
       dim jyrshot2 as new ADODB.RecordSet
       jyrshot2.open "vin_color", cn, adOpenDynamic, adLockOptimistic ,adCmdTable
      

  5.   

    可是运行到
    dim jyrshot2 as new ADODB.RecordSet
    时,报错用户定义类型未定义
      

  6.   

    工程-->引用, 里面找adomicrosoft activex data object :大概是这样拼写的
      

  7.   

    不好意思,我实在是笨蛋
    运行到
    jyrshot2.rdoColumns(0) = UCase(Text2)
    报错:未找到方法或数据成员
      

  8.   

    运行到
    jyrshot2.rdoColumns(0) = UCase(Text2)
    报错:未找到方法或数据成员即便忽略这段,又报错:
    与其他的数据冲突。如何解决?我并没有在其他地方以只读方式打开数据库。
    或者请告诉我一下以只读方式打开数据库的语句是什么,
    我检查一下。
    谢谢
      

  9.   

    连接方式改成如下
    dim cn as new rdoconnection
    dim rs as new rdoresultset
    with cn
      cn.连接字符串="...."
      cn.由表类型=clientba...的这种类型
      cn.e...连接
    end with
    set rs=cn.openresult(sql)
    这样的画就不是指都的了
      

  10.   

    dim rs as new rdoresultset这句错了,应该是dim rs as rdoresultset
    连接方式改成
    With cn
      cn.Connect = "DSN=odbc数据源名称;UID=用户名;PWD=口令"
      cn.CursorDriver = rdUseClientBatch
      cn.EstablishConnection
    End With
      

  11.   

    另外说明,连接的定义一定要这样写
    dim cn as new rdoconnection
      

  12.   

    我重新说一下我的问题吧,以上有的以解决
    我在VB中调试一段程序,想向SQL SERVER中的“hgz”数据库
    "vin_color"表填加数据。
    其中有关程序如下:
    '''''''''''建立RDO链接开始
    Set en = rdoEngine.rdoEnvironments(0)
    scnct = "dsn=hgz;uid=sa;pwd=;database=hgz"
    Set cn = en.OpenConnection(dsname:="hgz", 
             Prompt:=rdDriverNoPrompt, ReadOnly:=False, 
             Connect:=scnct)
    ----------------------------------------------Private Sub Command1_Click()    
       dim jyrshot2 as new ADODB.RecordSet
        Dim jyrsql2 As String
        jyrsql2 = "SELECT * FROM vin_color "
       jyrshot2.open jyrsql2, cn, adOpenDynamic, 
                   adLockOptimistic ,adCmdText 
        If Text2 > "" And Text3 > "" Then
            
                jyrshot2.AddNew
                jyrshot2.rdoColumns(0) = UCase(Text2)
                jyrshot2.rdoColumns(1) = Text3
               
                jyrshot2.Update
                Text2 = ""
                Text3 = ""
           
            
        Else
            MsgBox ("没有填写内容!!")
        End If
        jyrshot2.Close
        Form_Load
    End Sub运行时程序指向“jyrshot2.open ....."一行,报错为:
    实时错误‘3001’:应用程序使用的参数或者类型不正确,
    或者不在可以接受的范围之内,要不就是与其他数据冲突。可是我太知道以独占方式打开数据库的语句是什么,所以我
    不知道错误在哪里。请各位告诉我:
    1、以独占方式打开数据库的语句是什么
    2、打开的数据库关闭语句是什么
    3、帮我分析一下可能出现的问题谢谢
      

  13.   

    rdo技术ms不再提倡,建议使用ado技术
    帮助请看msdn
    -----ms程序员
      

  14.   

    就是不行!
    我都不好意思把帖子提前了,谢谢大家
    不小心看到了就帮忙提示一下吧。
    经各位帮忙后程序如下:
    ---------------------------------
    在一开始进入输入密码窗口中:
    dim cn as new rdoconnection
    with cn
       cn.connect="dsn=hgz;uid=sa;pwd="
       cn.cursordriver=rduseclientbatch
       cn.establishconnection
    end with
    ------------------------------------
    在另一个窗口中:
    dim jyrshot2 as new adodb.recordset
    dim jyrsql2 as string 
    jyrshot2.open jyrsql2,cn,adopendynamic,adlockoptimistic,
                           adcmdtable
    jyrshot2.addnew
    jyrshot2("color_id")=ucase(text2)
    jyrshot2.update我调试一下,运行到 jyrshot2.open jyrsql2,cn,adopendynamic,。
    就报错:实时错误‘3001’:应用程序使用的参数或者类型不正确,
    或者不在可以接受的范围之内,要不就是与其他数据冲突。我在工程-》引用中只有Microsoft ActiveX Data Objects
                         2.0 Library 
    没有2.5