在局域网内我建立一台主机(操作系统是windows2000server)
一台客户机(windows98)
我做了一个客户机登陆系统的软件,登陆是要求输入用户名,密码
;用户名,密码放在一个数据库(sql or access)中的表里。
而这个数据库放在服务器上,我每次在客户机子上登陆时,必须是数据库中的数据才能正确登陆.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我现在的问题是:
我要怎样编写访问服务器上的数据库的代码呢??用ADO(50') 或者 RDS(50')
我对数据库还不太了解,请大侠帮我详细解答,
谢谢

解决方案 »

  1.   

    '引用Microsof Activex Data Object2.5 Library
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordsetcn.CursorLocation = adUseClient
    cn.Open "Provider=SQLOLEDB;Data Source=servername;User Id=sa;PassWord=****;Initial Catalog=dbname"
    rs.Open "select 1 from users where username='" & txtUser.Text & "' and [password]='" & txtPwd.Text & "'", cn
    If rs.EOF Then
        MsgBox "登录失败,请检查用户名与密码!"
    Else
        MsgBox "登录成功..."
        '..
        '..
    End If
    rs.Close
    cn.Close
    Set rs = Nothing
    Set cn = Nothing
      

  2.   

    ADO(50')应该是用ado解决给50分吧:)楼主的问题主要是第一步,98启动后加载登陆程序,这个程序优先级要高,它没结束的时候,不能运行其它程序,但要加载网络协议。要不然就不用检查用户名了:)这个是主要问题
    剩下的就简单了一些,连接服务器,发送查询命令,然后服务器回执一个信息,正确的话可以使用机器,不正确执行其它的.
      

  3.   

    50'就是50分了
    我想学习用RDS和ADO
    望大侠帮我用两种方法解决
    叩谢
      

  4.   

    符合要求的完整代码:
    Option Explicit
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.RecordsetPrivate Sub Form_Load()
    MDIForm1.Enabled = False
    cn.Open "Provider=MSDataShape.1;Data Source=16.45.65.212;" & _
       "Connect Timeout=15;UID=sa;PWD=123;Database=ll;Data Provider=SQLOLEDB"
    End SubPrivate Sub cmdOK_Click()
       Dim strUserPass As String, strUsername As String
      '判断用户是否已经输入用户名和密码
      strUsername = Trim(txtUserName.Text)
      strUserPass = Trim(txtPassword.Text)
      If strUsername = "" Then
        MsgBox "请输入用户名", vbExclamation, "登录提示"
        txtUserName.SetFocus
        Exit Sub
      End If
      If strUserPass = "" Then
        MsgBox "请输入密码", vbExclamation, "登录提示"
        txtPassword.SetFocus
        Exit Sub
      End If
      '判断用户登录信息是否正确
      rs.Open "select * from password where username='" & strUsername & "'", cn, adOpenStatic, adLockOptimistic
      If rs.EOF Then
        MsgBox "没有此用户", vbCritical, "登录错误"
        txtUserName.SelStart = 0
        txtUserName.SelLength = Len(txtUserName.Text)
        txtUserName.SetFocus
        Exit Sub
      End If
      rs.Close
      rs.Open "select * from password where username='" & strUsername & "' and password='" & strUserPass & "'", cn, adOpenStatic, adLockOptimistic
      If rs.EOF Then
        MsgBox "密码错误", vbCritical, "登录错误"
        txtPassword.SelStart = 0
        txtPassword.SelLength = Len(txtPassword.Text)
        txtPassword.SetFocus
        Exit Sub
      End If
      rs.Close
      MDIForm1.Enabled = True
      Unload Me
        
    End Sub
      

  5.   

    我的系统也是2000 server
    客户端也是98
      

  6.   

    '菜单 "工程/引用/Microsof Activex Data Object2.0 Library" 后面为版本号
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordsetcn.CursorLocation = adUseClient
    cn.Open "Provider=SQLOLEDB;Data Source=servername;User Id=sa;PassWord=****;Initial Catalog=dbname"
    rs.Open "select * from users where username='" & txtUser.Text & "'", cnIf rs.EOF Then
        MsgBox "对不起,用户名称不正确~", vbExclamation
    ElseIf rs!pass <> txtPass.Text Then
        MsgBox "对不起,用户密码不正确~", vbExclamation
    End Ifrs.Close
    Set rs = Nothing
      

  7.   

    请问 Lucky527(幸运星)   cn.Open "Provider=MSDataShape.1;Data Source=16.45.65.212;" & _
       "Connect Timeout=15;UID=sa;PWD=123;Database=ll;Data Provider=SQLOLEDB" 中的 provider是什么含义呀?
      

  8.   

    我的SQL服务器名ASP
    数据库是user
    我的IP局域网自动分配的IP 172.16.133.80
    我在设置是
    cn.Open "Provider=MSDataShape.1;Data Source=172,16,133,80;" & _"Connect Timeout=15;UID=sa;PWD=123;Database=user;Data Provider=SQLOLEDB"
    运行时出现没有连接数据库的不存在,或拒绝访问的错误
    引用Microsof Activex Data Object2.5 Library
    我的有2.0,2.1,2.2,..,2.6
    我该用哪个呢?
    请赐教
      

  9.   

    最好用高一点的,好兼容一些
    如2.0的不支持access 2000
      

  10.   

    用ado ,数据库连接字符串里数据库信息,写数据库的网络地址信息!