If rs.EOF = True And rs.BOF Then
        m = MsgBox("请重新登录", vbExclamation)
    Else
        [color=red]userName = rs.Fields(user_name)[/color]
[color=#ff0000] 好象最后一句有问题。。不知道怎么回事[/color]
[color=#ff0000]用     [/color][color=lime]userName = rs("user_name") [/color][color=red]代替也不行。。[/color]
[color=red]做ASP时都是可以这样写的。。。写VB的时候不知道怎么写了。。。。[/color]

Nothing 2006-10-11 09:12

conn.C
这句是什么意思?
userName = rs.fields("user_name").value

netice 2006-10-11 10:18

晕。。没复制完全呵呵
应该是
……
conn.ConnectionString = "Driver={sql server};server=202.194.229.179;uid=sa;pwd=;database=xinxi"
    conn.ConnectionTimeout = 30
……

今天到学校机房试了试

userName = rs.fields("user_name").value
userName = rs("user_name")
  
都可以了。。怎么回事。。够晕。。。
这两句有什么区别吗?
是不是加上  fields("字段名").value 效果更好呢?

netice 2006-10-11 16:31

终于发现问题了
Set conn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    conn.C
    conn.ConnectionTimeout = 30
    conn.Open
[color=red]    rs.Open "select user_id,user_password from userdata where user_id='" & Trim(TxtNum.Text) & "' And user_password='" & Trim(TxtPassword.Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText[/color]
    If rs.EOF = True And rs.BOF Then
        m = MsgBox("请重新登录", vbExclamation)
    Else
            userName = rs.Fields("user_name").Value

……

这样写还是提示 rs.Fields("user_name").Value为空值
但是把
里面
[color=#ff0000] rs.Open "select user_id,user_password from userdata where user_id='" & Trim(TxtNum.Text) & "' And user_password='" & Trim(TxtPassword.Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText[/color]

改为
[color=#ff0000] rs.Open "select user_id,user_password,[color=blue]user_name[/color] from userdata where user_id='" & Trim(TxtNum.Text) & "' And user_password='" & Trim(TxtPassword.Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText[/color]


就可以正常通过了!

。。真晕。。
但是在有的机器里不用改也可以通过。。例如我们机房的机器。。。


。。。。真是不解。。。。。

Nothing 2006-10-11 21:28

我也没细看,你原来没在SQL语句里显示user_name,呵呵。
.Fields是Recordset的缺省属性,加上了这个,程序速度更快。
页: [1]
查看完整版本: 读取SQL数据小问题。。