文山州砚山县:如何在vb中按输入的值查询数据库的指定表的记录是否存在

来源:百度文库 编辑:神马品牌网 时间:2024/05/03 09:15:35
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim str, asqlstr, usqlstr As String
str = "Driver={SQL Server};Server=(local);database=library" '指定连接的字符集
Set cn = New ADODB.Connection
cn.Open str
rs.CursorLocation = adUseClient
asqlstr = "select * from auser_info where user_id=' " & txtUserName.Text & " ' "
rs.Open asqlstr, cn, adOpenKeyset, adLockPessimistic
Print rs.EOF & rs.BOF '为什么打印输出都为false
If rs.EOF Then
MsgBox "对不起,用户名不存在!"
txtUserName.SetFocus
rs.Close

End If
以上的代码为什么打印输出都为false ,sql语句是执行到了的呀!

我觉得是你的理解错误

rs.EOF表明是是否达到了End Of File,如果达到了文件结束标志,那么返回T;如果还没有返回F

rs.BOF表明是否达到了Bottom Of File,如果达到了那么返回T;反之返回F

说明你这个条件rs.EOF & rs.BOF里面至少有一个条件为False,而看了你的程序,如果记录找到,那么rs.EOF返回F,rs.BOF返回F,那么整体的和操作返回当然也是F了,因为一旦找到了记录,记录指针默认指向第一条记录,而不是EOF或者BOF标志