Foxtable(狐表)用户栏目专家坐堂 → [求助]一个错误提示


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

主题:[求助]一个错误提示

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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
[求助]一个错误提示  发帖心情 Post By:2011/2/18 11:25:00 [只看该作者]

各位老师:

我做了个LoadUserSetting中的用户验证,用户通过SQL数据库验证用户是否存在,代码如下

    Dim cmd As New SQLCommand
    Dim dt As DataTable
    'Dim dr As DataRow = e.DataRow
    cmd.C
    cmd.CommandText = "SELECT * From {员工信息库} Where [姓名] =  '" & User.Name & "'"
    dt = cmd.ExecuteReader
    If dt.DataRows.Count > 0 Then    
Else
messagebox.show("此账户已停用!")
Syscmd.Project.Exit()
End If

不知为何有错误 提示,我看了下 和菜单有关,请问各位老师,这是啥错误 ?


图片点击可在新窗口打开查看此主题相关图片如下:error.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:狐神 帖子:6831 积分:43213 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/2/18 12:28:00 [只看该作者]

未定义外部数据源


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/2/18 14:21:00 [只看该作者]

不应该在LoadUserSetting事件中有退出系统的命令。

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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
  发帖心情 Post By:2011/2/18 14:59:00 [只看该作者]

以下是引用狐狸爸爸在2011-2-18 14:21:00的发言:
不应该在LoadUserSetting事件中有退出系统的命令。

哦,这样啊,不过我原来做的不用外部数据源比对用户,是将外部表加载到项目中,然后比对user.name就可以,使用了连接外部数据源后就出错了,估计是这个冲突,那狐爸,我想比对当前user.name 是否有SQL表中存在,在哪个事件中比较好呢?


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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
  发帖心情 Post By:2011/2/18 15:00:00 [只看该作者]

以下是引用lihe60在2011-2-18 12:28:00的发言:

未定义外部数据源

感谢回复,代码贴上来好像数据源指向没了,在我项目中的代码还存在,我估计是狐爸说的差不多。 loadusersetting和关闭项目的冲突


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


加好友 发短信
等级:狐神 帖子:6831 积分:43213 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/2/18 15:02:00 [只看该作者]

建议用ACCESS作为外部数据源,大家也可以帮你调试。


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/2/18 16:34:00 [只看该作者]

一楼的这种判断似乎用ExecuteScalar直接返回值更合理些,如:

 

Dim cmd As New SQLCommand
cmd.CommandText = "Select Count(姓名) From {员工信息库} Where [姓名] = '" & User.Name & "'"
If cmd.ExecuteScalar() = 0 Then
    MessageBox.show("此账户已停用!")
End If


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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
  发帖心情 Post By:2011/2/18 17:22:00 [只看该作者]

以下是引用lihe60在2011-2-18 15:02:00的发言:

建议用ACCESS作为外部数据源,大家也可以帮你调试。

感谢lihe60老师,等我做个例子请各位老师帮研究下。


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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
  发帖心情 Post By:2011/2/18 17:23:00 [只看该作者]

以下是引用czy在2011-2-18 16:34:00的发言:

一楼的这种判断似乎用ExecuteScalar直接返回值更合理些,如:

 

Dim cmd As New SQLCommand
cmd.CommandText = "Select Count(姓名) From {员工信息库} Where [姓名] = '" & User.Name & "'"
If cmd.ExecuteScalar() = 0 Then
    MessageBox.show("此账户已停用!")
End If

感谢CZY老师,好像教过我 ExecuteScalar的使用方法,问过一个id单号SQL后台判断不存在问题,再次谢谢老师!


 回到顶部