我用Win2000 Pro + VB6 + SQL Server2000
1.在本机中先用SQL Server建立了一个名为xlc的数据库,没有设密码,本机名为sun 。我想用adodb连接这个数据库,代码应该怎么写?
2.这个数据库中有一个表tab ,包含有name、age、sex几项。我想点一下“查询”按钮,在弹出的提示框中输入姓名后,在另一给窗体(form2)中通过几个文本框把以上几项分别显示出来。
   这是提示框的代码: Prompt$ = "请输入要查询的船员姓名"
                      SearchStr$ = InputBox(Prompt$, "查找姓名") 其它代码应该如何写,不好意思,我刚学编程,谢谢 !!

解决方案 »

  1.   

    同意楼上所说
    给你个简单的示例:使用ADO对象来搞定它。
    你首先要在VB菜单中:
    “工程”-->“引用”-->“Microsoft AxtiveX Data Objects 2.X Library”
    注:2.X为版本号,如果你机子上有高版本的就用高版本的,如:2.5或2.6的。
    "工程"-->“部件”-->“MicroSoft DataGrid Control 6.0”
    示例:private sub command1_click()
    dim adoCN as new adodb.connection'连接对象
    dim rs as new adodb.recordset'记录集对象
    dim strcon as string,sqlstr as string
    strcon = "Provider=SQLOLEDB;Driver={SQL Server};Server=服务器名;Uid=用户名;Pwd=密码;Database=数据库名"'连接字符串
    adoCN.Open strcon'打开连接(数据库)
    rs.CursorLocation = adUseClient'使用客户端游标
    sqlstr = "SELECT * FROM XXXX"
    rs.Open strSQL, strcon,3,3
    if rs.bof and rs.eof then
       msgbox "没有查询到记录!!!"
       exit sub
    else
      set datagird1.datasource=rs'将记录集显示在datagrid控件中
      datagrid1.refresh
    end if
    end sub
      

  2.   

    我自己写了,只是有错误,想让你们给点帮助而已.Private Sub Search_Click()
      Dim cn As New adodb.Connection '连接对象
      Dim rs As New adodb.Recordset '记录集对象
      Dim strcon As String, sqlstr As String
      Prompt$ = "请输入要查询的船员姓名"
      SearchStr$ = InputBox(Prompt$, "查找姓名")
      
      strcon = "Provider=SQLOLEDB;Driver={SQL Server};Server=sun;uid=;pwd=;Database=xlc"     '连接字符串
      cn.Open strcon                    '打开连接(数据库)
      rs.CursorLocation = adUseClient      '使用客户端游标
      sqlstr = "SELECT * FROM xlc"
      
      Form1.Adodc1.Recordset.Index = "姓名"  '设置索引的字段
      Form1.Adodc1.Recordset.Seek "=", SearchStr$   '查找字段
      If Form1.Adodc1.Recordset.RecordCount = 0 Then
         MsgBox ("对不起,查无此人")
         Form1.Adodc1.Recordset.MoveFirst      '移动到第一条记录
      Else
         Form2.Show
         Form2.name.Text = Form1.Adodc1.Recordset.Fields![name]
         Form2.age.Text = Form1.Adodc1.Recordset.Fields![age]
         Form2.sex.Text = Form1.Adodc1.Recordset.Fields![sex]    
      End If
    End Sub