我用VB做了一个登陆界面,要连接到Access数据库进行验证用户ID和密码,我在窗口中放置了两个文本框和一个按钮(其他就没有什么控件了),我想要连接数据库,就声明了如下变量:
dim db as Database
dim rs as RecordSetset db = OpenDatabase(App.path+"db1.mdb")
set rs = db.OpenRecordset("db1")但是在运行时系统报“编译错误,用户定义的数据类型未定义”,高亮条指向“dim db as Database”,请问这是什么原因!!!

解决方案 »

  1.   

    dim db as Database
    好像没有这个类型吧,参见连接
    Public con As New ADODB.Connection
     Sub main()
       '连接数据库
        'con.ConnectionString = "PROVIDER=MSDASQL;driver={SQL Server};server=" & ServerName & ";uid=sa;pwd=;database=UFDATA_" & ZT & "_" & ND & ";"
        con.ConnectionString = "PROVIDER=MSDASQL;driver={SQL Server};server=ymq;uid=sa;pwd=;database=UFDATA_003_2006;"
        con.ConnectionTimeout = 10
        con.Open
        frmMain.Show
      

  2.   

    你没引用用DAO库吧工程-> 引用 Microsoft DAO 3.6 Object Library
      

  3.   

    1  二楼说的是使用ADO方式连接数据库,也是先需要引用“Microsoft ActiveX Data Objects 2.x Library”项.
    2  楼主应该使用的是DAO方式连接数据库,也需先引用“Microsoft DAO 3.6 Object Library”
      

  4.   

    我在Access中建立了一张表user_info,包括ID,username,password三个字段,在VB中创建了一个窗口,窗口中的按钮存放如下代码:
    Dim ls_id As String
    Dim ls_pwd As String
    Dim sql_str As String
    MsgBox App.Path + "\db1.mdb"Set db = OpenDatabase(App.Path + "\db1.mdb")
    ls_id = Trim(Text1.Text)
    ls_pwd = Trim(Text2.Text)
    sql_str = "select ID from user_info where ID = '" & ls_id & "'"
    Set rs = db.OpenRecordset(sql_str)
    但是执行到Set rs = db.OpenRecordset(sql_str)就执行不下去了,报数据类型不匹配,这是怎么回事,请各位指教一下!!
      

  5.   

    sql_str = "select ID from user_info where ID = '" & ls_id & "'"
    -------------
    ID是什么类型的字段啊,如果是数值型的sql_str = "select ID from user_info where ID = " & val(ls_id)