Foxtable(狐表)用户栏目专家坐堂 → 新增用户代码能否这样简化


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

主题:新增用户代码能否这样简化

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


加好友 发短信
等级:一尾狐 帖子:471 积分:4014 威望:0 精华:0 注册:2018/5/13 15:18:00
新增用户代码能否这样简化  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:494 积分:4854 威望:0 精华:0 注册:2012/4/20 8:42:00
  发帖心情 Post By:2020/5/5 20:30:00 [只看该作者]

 你这样不对。。最后的table没有给Name赋值。

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


加好友 发短信
等级:一尾狐 帖子:471 积分:4014 威望:0 精华:0 注册:2018/5/13 15:18:00
  发帖心情 Post By:2020/5/5 20:42:00 [只看该作者]

我试了,赋值了。

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


加好友 发短信
等级:超级版主 帖子:106195 积分:540098 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/5 20:59:00 [只看该作者]

帮助是按照不加载用户表的方式做的。至于怎么用,条条大路通罗马,自己喜欢就好

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


加好友 发短信
等级:一尾狐 帖子:471 积分:4014 威望:0 精华:0 注册:2018/5/13 15:18:00
  发帖心情 Post By:2020/5/6 10:14:00 [只看该作者]

关键是这样写对吗?有人告诉我这样写是错的。

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


加好友 发短信
等级:超级版主 帖子:106195 积分:540098 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/6 10:20:00 [只看该作者]

测试有什么问题?能不能实现自己需要的效果?

如果用户表数据已经加载了,也可以不使用sql,然后通过datatable的find、compute来判断是否有同名用户。

 回到顶部