以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 新增用户代码能否这样简化 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=149537) |
-- 作者:天宇科技 -- 发布时间:2020/5/5 19:06:00 -- 新增用户代码能否这样简化 帮助中新增用户代码非常复杂。如下: Dim UserName As String = e.Form.Controls("UserName").Value Dim UserGroup As String = e.Form.Controls("UserGroup").Value Dim PassWord As String = e.Form.Controls("PassWord").Value Dim cmd As New SQLCommand cmd.ConnectionName = "database" If UserName = "" OrElse UserGroup = "" Then Messagebox.show("请输入用户名和用户分组!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Return End If cmd.CommandText = "Select Count(*) Fro m {Users} Where Name = \'" & UserName & "\'" If cmd.ExecuteScalar > 0 Then Messagebox.show("增加用户失败,已经能存在同名用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Return End If cmd.CommandText = "Insert Into {Users} ([Name],[Group],[Password]) Values (\'" cmd.CommandText = cmd.CommandText & UserName & "\',\'" & UserGroup & "\',\'" & Password & "\')" If cmd.ExecuteNonQuery = 1 Then \'返回1表示增加成功 If Forms("用户管理").Opened Then With Forms("用户管理").Controls("ListBox1") .Items.Add(UserName) .SelectedIndex = .Items.Count -1 End With End If e.Form.Close() End If ———————————————————————————————————————————————— 我能否修改成下面这样的,思路就是判断是否输入了数据,是否有同名的,如果没有,就保存到新增的ROW中去,然后关闭窗口,我不明白帮助中为什么要写这么复杂。 Dim UserName As String = e.Form.Controls("UserName").Value Dim UserGroup As String = e.Form.Controls("UserGroup").Value Dim cmd As New SQLCommand cmd.C If UserName = "" OrElse UserGroup = "" Then Messagebox.show("请输入用户名和用户分组!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Return End If cmd.CommandText = "Select Count(*) Fro m {Users} Where Name = \'" & UserName & "\'" If cmd.ExecuteScalar > 0 Then Messagebox.show("增加用户失败,已经能存在同名用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Return Else Tables("users").AddNew DataTables("users").Save e.Form.Close End If
|
-- 作者:baicaocao -- 发布时间:2020/5/5 20:30:00 -- 你这样不对。。最后的table没有给Name赋值。 |
-- 作者:天宇科技 -- 发布时间:2020/5/5 20:42:00 -- 我试了,赋值了。 |
-- 作者:有点蓝 -- 发布时间:2020/5/5 20:59:00 -- 帮助是按照不加载用户表的方式做的。至于怎么用,条条大路通罗马,自己喜欢就好 |
-- 作者:天宇科技 -- 发布时间:2020/5/6 10:14:00 -- 关键是这样写对吗?有人告诉我这样写是错的。 |
-- 作者:有点蓝 -- 发布时间:2020/5/6 10:20:00 -- 测试有什么问题?能不能实现自己需要的效果? 如果用户表数据已经加载了,也可以不使用sql,然后通过datatable的find、compute来判断是否有同名用户。
|