以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- [求助]一个错误提示 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=9100)
|
-- 作者:ddlzq
-- 发布时间: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
-- 发布时间:2011/2/18 12:28:00
--
未定义外部数据源
|
-- 作者:狐狸爸爸
-- 发布时间:2011/2/18 14:21:00
--
不应该在LoadUserSetting事件中有退出系统的命令。
|
-- 作者:ddlzq
-- 发布时间:2011/2/18 14:59:00
--
以下是引用狐狸爸爸在2011-2-18 14:21:00的发言: 不应该在LoadUserSetting事件中有退出系统的命令。
哦,这样啊,不过我原来做的不用外部数据源比对用户,是将外部表加载到项目中,然后比对user.name就可以,使用了连接外部数据源后就出错了,估计是这个冲突,那狐爸,我想比对当前user.name 是否有SQL表中存在,在哪个事件中比较好呢?
|
-- 作者:ddlzq
-- 发布时间:2011/2/18 15:00:00
--
以下是引用lihe60在2011-2-18 12:28:00的发言:
未定义外部数据源
感谢回复,代码贴上来好像数据源指向没了,在我项目中的代码还存在,我估计是狐爸说的差不多。 loadusersetting和关闭项目的冲突
|
-- 作者:lihe60
-- 发布时间:2011/2/18 15:02:00
--
建议用ACCESS作为外部数据源,大家也可以帮你调试。
|
-- 作者: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
|
-- 作者:ddlzq
-- 发布时间:2011/2/18 17:22:00
--
以下是引用lihe60在2011-2-18 15:02:00的发言:
建议用ACCESS作为外部数据源,大家也可以帮你调试。
感谢lihe60老师,等我做个例子请各位老师帮研究下。
|
-- 作者:ddlzq
-- 发布时间: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后台判断不存在问题,再次谢谢老师!
|