1.vb连接数据库  通常用odbc 与 ado  我想问下他们的差异??简单的说就行了2.比如我用listview listbox dbgrid三种常用的与数据库搭配用
  很多代码都是绑定方法,我知道有不是对,但VB中代码怎么样?能否给个小例子。(非绑定的)3.比如  szQry = " (SELECT METER_NUMBER " & _
        " FROM CWS_METER_MASTER " & _
        " WHERE METER_MASTER_ID =  " & ptrData1!METER_MASTER_ID & ")"
        
      ptrData2.Open szQry
     然后就可以用ptrData2!METER_NUMBER 来给变量赋值。
   
   我知道你还不知道我想说什么,”我表达能力确实差“ 就是说我不是用rs接收了"exec sql" 的记录了吗??
   我想把这条记录的第一个字段的值取出来赋给别人 怎么写?难道是rs.字段名???

解决方案 »

  1.   

    (1)odbc开放数据连接ado活动数据对象
    (2)创建一个connection,打开,然后创建一个recordset,使用前面的连接执行sql,返回数据
    用循环读取数据,加载即可。listview可以使用listitem对象;listbox使用additem;grid可以使用rows对象。
    (3)返回的recordset,使用recordset!字段名,获取数据。
      

  2.   

    1.ODBC比ado多个配置数据源的操作,另外据微软说ADO访问要快些.不过有的老类型的数据库只能通过odbc连接.
      

  3.   

    http://download.csdn.net/source/1627068
    http://download.csdn.net/source/1371356
      

  4.   

    ado用的时候感觉方便一些,ODBC需要配置一些东西!
      

  5.   

    Dim sql As String
    Set con = New ADODB.Connection
    con.CursorLocation = adUseClient
    con.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\aiqihao.mdb;Persist Security Info=False"
    Set rs = New ADODB.Recordset
    sql = "Select * From userinfo"
    rs.Open sql, con
    Set DataGrid1.DataSource = rs
    DataGrid1.Refresh
    这代码错哪???怎么老报 “缺少函数或变量”
      

  6.   

    Dim con As New ADODB.Connection
    Dim rs As New ADODB.Recordset
      

  7.   

    我一直想写一个 连接数据库操作的教程...哎..没时间...
    Public cn As New ADODB.connection     '定义数据连接
    Public rs As New ADODB.Recordset     '定义数据集对象
    Public strcn As String
    Global czUser As String              '当前操作员
    Public userpassword, username As String   '存放当前登陆用户名和密码,用于修改密码
    Public isEdit As Boolean            '是否修改'*****************************************
    '功能说明:数据库连接
    '创建时间:2008.11.4
    '*****************************************
    Public Sub connection()
        strcn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DB\DB.mdb;Persist Security Info=False"
        cn.ConnectionString = strcn
        cn.Open
    End Sub使用的时候类似于这样就行了....
        Dim sql As String
        If cn.State <> 1 Then
            connection
        End If
        lv.ListItems.Clear
        sql = "select * from t_info"
    Dim itmx As ListItem
        Set rs = cn.Execute(sql)
        While rs.EOF = False
        Set itmx = lv.ListItems.add(, "key" & rs!id, rs!Name, 4, 5)
        itmx.SubItems(1) = rs!zuozhe
        itmx.SubItems(2) = rs!shuoming
        itmx.SubItems(3) = rs!fenlei
        itmx.SubItems(4) = rs!addtime
        itmx.SubItems(5) = rs!Path
        rs.MoveNext
        Wend
        rs.Close
      

  8.   

    对了  我刚才误操作  没保存工程 现在打开单独的FRM 输入adodb. 点按下去后都不弹出东西来了
    编译报 用户定义类型未定义
    问下需要加载什么部件啊??
      

  9.   

    'Set mycon = New ADODB.Connection
    'Set myrs = New ADODB.Recordset
    'mycon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\aiqihao.mdb;Persist Security Info=False"
    'mycon.CursorLocation = adUseClient
    'mycon.Open
    'myrs.Open "select * from userinfo", mycon, 3, 3
    'Set DataGrid1.DataSource = myrs
    'DataGrid1.Refresh
    'End Sub
    Dim sql As String
    Dim str As String
    'Set con = New ADODB.Connection
    'con.CursorLocation = adUseClient
    'str = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source= C:\Documents and Settings\USER\桌面\爱妻号\爱妻号\新建文件夹\aiqihao.mdb;"
    str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\aiqihao.mdb;Persist Security Info=False"con.ConnectionString = str
    con.Open
    Set rs = New ADODB.Recordset
    sql = "Select * From userinfo"
    rs.Open sql, con, 3, 3
    Set DataGrid1.DataSource = rs
    DataGrid1.Refresh这代码错哪??怎么老报不可识别的数据库格式
      

  10.   

    Dim sql As String
    Dim str As String
    'Set con = New ADODB.Connection
    'con.CursorLocation = adUseClient
    str = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\aiqihao.mdb;"
    con.ConnectionString = str
    con.Open
    Set rs = New ADODB.Recordset
    sql = "Select * From userinfo"
    rs.Open sql, con, adOpenStatic, adLockOptimistic
    Set DataGrid1.DataSource = rs
    DataGrid1.Refresh
    可以连上数据库了,但是怎么不显示内容呢??
      

  11.   


    Private Sub Command1_Click()
    Dim sql As String
    Dim str As String
    Set con = New ADODB.Connection
    con.CursorLocation = adUseClient
    str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\aiqihao.mdb;Persist Security Info=False"con.ConnectionString = str
    con.Open
    Set rs = New ADODB.Recordset
    sql = "Select * From userinfo"
    rs.Open sql, con, 3, 3
    Set DataGrid1.DataSource = rs
    DataGrid1.RefreshEnd Sub
    '以上代码没有问题,看看你的ACCESS数据库是否有问题,是否是2003以下版本。
      

  12.   


    Private Sub Command1_Click()
    Dim sql As String
    Dim str As String
    Set con = New ADODB.Connection '这句要加上
    con.CursorLocation = adUseClient '这句也要加上才会有数据,如果加上也没有数据,看看数据表是不是空的str = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\aiqihao.mdb;"
    con.ConnectionString = str
    con.Open
    Set rs = New ADODB.Recordset
    sql = "Select * From userinfo"
    rs.Open sql, con, adOpenStatic, adLockOptimistic
    Set DataGrid1.DataSource = rs
    DataGrid1.RefreshEnd Sub
      

  13.   

    问题解决了  少加了rs.CursorLocation = adUseClient
    另外如果再代码中加了con.close
    或者 rs.close datagrid就不显示数据了  为什么