以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  登陆窗口设计问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=18557)

--  作者:lifeofyiyi
--  发布时间:2012/4/17 13:47:00
--  登陆窗口设计问题

狐爸,我设计的登录窗口,然后连接了sql数据库。当输入一个数据库里没有的姓名的时候,会提示以下错误,我想问下,该怎么修改呢?


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
登录界面的确定代码如下:

Dim UserName As String = e.Form.Controls("UserName").Value
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow
Dim i As Integer
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
i = cmd.ExecuteScalar
dr = dt.DataRows(0)

If e.Form.Controls("PassWord").Value = dr("Password") Then
    _UserName = UserName
    _UserGroup = dr("Group")
    e.Form.Close
StatusBar.Message2 = "当前用户" &  _usergroup  & "-" &   _username & "☆"
Else
    Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If


--  作者:程兴刚
--  发布时间:2012/4/17 14:01:00
--  
错在这里,应先判断dt的总行数是否大于0,否则,终止以后的代码的运行: dr = dt.DataRows(0)
--  作者:lifeofyiyi
--  发布时间:2012/4/17 14:50:00
--  
谢谢C版,我开始加了i的判断。貌似加错地方了,所以messagebox一直没跳出来,刚加到最后一行就好了!
--  作者:dark272710
--  发布时间:2012/4/17 15:34:00
--  
可以禁止直接输入图片点击可在新窗口打开查看