以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问如何屏蔽access数据库无查找项时的错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=15644)

--  作者:ajim
--  发布时间:2012/1/4 16:03:00
--  请问如何屏蔽access数据库无查找项时的错误
代码如下
但有个问题。如果用户名在mdb不存在就会报错
图片点击可在新窗口打开查看此主题相关图片如下:未命名.gif
图片点击可在新窗口打开查看

Dim UserName As String = e.Form.Controls("UserName").Value
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow
cmd.C
If UserName = "" Then
    Messagebox.show("请选择用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
cmd.CommandText = "Select * From {Users} Where [Name] = \'" & UserName & "\'"
dt = cmd.ExecuteReader
dr = dt.DataRows(0)
If e.Form.Controls("PassWord").Value = dr("Password") Then
    _UserName = UserName
    _UserGroup = dr("Group")
    e.Form.Close
    Forms("地接").Open()
Else
    Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)


--  作者:狐狸爸爸
--  发布时间:2012/1/4 16:08:00
--  

....
dt = cmd.ExecuteReader
If dt.datarows.Count > 0 Then
    dr = dt.DataRows(0)
    If e.Form.Controls("PassWord").Value = dr("Password") Then
        _UserName = UserName
        _UserGroup = dr("Group")
        e.Form.Close
        Forms("地接").Open()
    Else
        Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
End If