Foxtable(狐表)用户栏目专家坐堂 → 登录窗口验证登录问题


  共有12867人关注过本帖树形打印复制链接

主题:登录窗口验证登录问题

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/7 15:27:00 [显示全部帖子]

cmd.CommandText = "Select * From {医师资料} Where [姓名] = &UserName& "

应该是:

 

 

cmd.CommandText = "Select * From {医师资料} Where [姓名] = '" & UserName & "'"

 

建议看看:

http://www.foxtable.com/help/topics/1284.htm

http://www.foxtable.com/help/topics/1485.htm

 



 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/7 15:51:00 [显示全部帖子]

如果第一句有问题:

Dim UserName As String = Forms("登录窗口").Controls("txt1").Value

 

看看窗口名和控件名是否正确。

 

foxtable可以自动生成这些代码的,避免输入错误:

http://www.foxtable.com/help/topics/1525.htm

 

 

如果搞不定,就传项目上来。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/7 16:30:00 [显示全部帖子]

你发上来的项目,我都没有看到有登陆窗口。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/7 16:50:00 [显示全部帖子]

你是不是发错数据库了,根本就没有医生资料这个表啊

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/8 9:55:00 [显示全部帖子]

问题出在这里:

 

cmd.CommandText = "Select * From {医师资料} Where [姓名] = '" & UserName & "' "

 

你的医生资料表,似乎没有姓名列,只有用户名列。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/8 10:09:00 [显示全部帖子]

呵呵,编程要严谨的,如果没有符合条件的行,dt.DataRows(0)肯定要出错的。

 

这样改一下代码:

 

 

Dim dr As DataRow
Dim dt As DataTable
Dim UserName As String=Forms("登录窗口").Controls("txtname").Value
Dim cmd As New SQLCommand
cmd.C
If UserName =" " Then
    Messagebox.show("请输入用户名!","提 示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
cmd.CommandText = "Select *  From {医师资料} Where [用户名] = '" & UserName & "' "
output.show(cmd.commandtext)
dt = cmd.ExecuteReader
If dt.DataRows.count > 0 Then
    dr = dt.DataRows(0)
    If Forms("登录窗口").Controls("txtpwd").Value = dr("密码")  Then
        DataTables("FMFM量表分值转换表").load
        DataTables("精细运动能力测试量表").load
        DataTables("脑瘫").load
        Forms("登录窗口").Close
    Else
        Messagebox.show("密码错误!","提 示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
Else
    messagebox.show("用户名错误","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If


 回到顶部