VB程序调试问题,求高手解答。。下附代码。望好心人帮忙~~所有的财富都给了~~

2025-01-08 00:02:32
推荐回答(4个)
回答1:

出现什么问题?初步看没什么问题呀!是数据库连接不上吗?把错误提示拿出来看就知道了..
不过你的SQL 连接字符串应该是ODBC 方式的连接字哦,ADO连接的字符串应该这样写:
connectionstring=“Provider=SQLOLEDB.1;Persist Security Info=True;Database=cssjk;Uid=sa;Pwd=zb8226763 ;Initial Catalog=OSSQLDB;”

回答2:

Set rs = conn.Execute(sqll)
A = rs("user_rk")
两句应该改成下面这样的:
rs.Open sqll, conn, adOpenKeyset, adLockPessimistic
A = rs.Fields("user_id")

打开记录集应该用open方法,调用字段值应该用上面的方法

回答3:

Private Sub Command1_Click()
Dim sql As String, sqll As String, A As String, B As String, Sqlconn As String
Dim conn As New ADODB.Connection, rs_login As New ADODB.Recordset
If Trim(Text1.Text) = "" Then
    MsgBox "请输入帐号!", 64, "提示"
    Text1.SetFocus
    Exit Sub
End If   '首先判断,再连接数据库
Sqlconn = "Driver={SQL Server};Server=192.168.4.70;Database=cssjk;Uid=sa;Pwd=zb8226763;"
'如果是下载的,可能是IP地址不正确,导致SQLServer 2000数据库连接不上,你可以将192.168.4.70修改为一个.-英文点号,或你的计算机名称
conn.Open Sqlconn
    sql = "select * from user_dl where user_id ='" & Text1.Text & "' And user_pw ='" & Text2.Text & "'" '这里数据表user_dl中的user_id字段如果是数字,必须去掉单引号。
    rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic
    If rs_login.EOF = True Then
        MsgBox "用户名或密码错误,请重新输入!", 64, "提示"
        Text1 = ""
        Text2 = ""
        Text1.SetFocus
        Text2.SetFocus
    Else    '没有必要再次连接数据表
        A = rs_login("user_rk")
        B = "项目负责人"
    End If
    rs_login.Close
    conn.Close   '需要关闭数据库连接
If A <> B And B <> "" Then
    Form14.Show
    Unload Me
Else
    Unload Me
    Form2.Show
End If
End Sub

大致发现了一点问题,修改了。如果有问题,再联系。

If A = 具体的值 And B = "项目负责人" Then  '如果需要正确判断需要修改为:If A =具体的值 And B = "项目负责人" Then,这个具体的值就是你数据库中设置的值
    Form14.Show
    Unload Me
ElseIf A = 具体的值2 And B = "项目负责人" Then
    Unload Me
    Form2.Show
End If

回答4:

你把user_rk类型 改为nchar(50) 试一下