以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 表事件的代码如何转换为窗口代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=120678) |
-- 作者:hanzhang98 -- 发布时间:2018/6/21 17:43:00 -- [求助] 表事件的代码如何转换为窗口代码 从论坛下载了个“权限管理-小例”的示例,里面有给“用户表”-用户“密码”加密的功能(也就是打开表时,密码列的字符是“zgv9FQWbaNZ2iIhNej0+jA==”这样的),但这个功能和代码是在表事件里面,代码如下: 表事件
权限_PrepareEdit
Select Case
e.Col.Name Case "表名" e.Col.ComboList = DataTables("表列").GetComboListString("表名") Case "列名" e.Col.ComboList = DataTables("表列").GetComboListString("列名",
"表名 = \'" & e.Row("表名") & "\'") End Select
用户_CellButtonClick
Select Case
e.Col.Name Case "密码" e.Cancel = True Dim result As DialogResult result = MessageBox.Show("你希望重置该用户的密码吗?",
"重置密码", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2) If result = DialogResult.Yes Then Dim pwd As String =
MD5Encrypt("123456") \'初始密码123456 e.Row(e.Col.Name) = pwd End If End Select
用户_DataColChanging
Select Case
e.DataCol.Name Case "密码" If e.NewValue = "" OrElse
e.NewValue = MD5Encrypt("123456") Then e.NewValue = MD5Encrypt("123456") Else e.NewValue = MD5Encrypt(e.NewValue) End If End Select 如何能让上述在表里面“给用户密码加密的代码”在“增加用户”和“更改用户”窗口里使用。也就是说在“增加用户”和“更改用户”窗口给用户的密码也能加密并写入表中。谢谢!
[此贴子已经被作者于2018/6/21 17:46:26编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/21 17:45:00 -- 你增加用户、更改用户的代码怎么写的?贴出来看看。 |
-- 作者:hanzhang98 -- 发布时间:2018/6/21 18:20:00 -- 完全按2018版使用帮助“自定义用户与权限管理之一”:写的,代码上不去,说是字符数超限。谢谢版主。
[此贴子已经被作者于2018/6/21 18:25:26编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/21 18:25:00 -- 增加用户代码这样写的
cmd.CommandText = "Insert Into {Users} ([Name],[Group],[Password]) Values (\'"
那就需要改成
cmd.CommandText = "Insert Into {Users} ([Name],[Group],[Password]) Values (\'" |
-- 作者:hanzhang98 -- 发布时间:2018/6/21 18:37:00 -- 再麻烦请教版主一个问题,就是按2018版使用帮助“自定义用户与权限管理之一”的用户管理窗口的列表框如何能显示出两列内容来,即显示“用户编码、用户名称”两列并按用户编码排序。代码如下:(还是上不去代码) 另外,如何将列表框选定的用户在“用户编码、用户姓名、用户密码”等文本框显示出“用户”表的列内容。谢谢版主。 |
-- 作者:hanzhang98 -- 发布时间:2018/6/21 18:42:00 -- 再请教版主:在“增加用户”和“更改用户”窗口给用户的密码加密并写入表中后,在登录窗口输入的密码是不是也得用加密方法验证,登录窗口的加密验证代码又如何写。谢谢! |
-- 作者:有点甜 -- 发布时间:2018/6/21 20:46:00 -- 以下是引用hanzhang98在2018/6/21 18:37:00的发言:
再麻烦请教版主一个问题,就是按2018版使用帮助“自定义用户与权限管理之一”的用户管理窗口的列表框如何能显示出两列内容来,即显示“用户编码、用户名称”两列并按用户编码排序。代码如下:(还是上不去代码) 另外,如何将列表框选定的用户在“用户编码、用户姓名、用户密码”等文本框显示出“用户”表的列内容。谢谢版主。
afterLoad事件
cmd.CommandText = "SELECT DISTINCT Name From {Users}"
改成,细节自己调整
cmd.CommandText = "SELECT DISTINCT 用户编码+Name as name From {Users}"
|
-- 作者:有点甜 -- 发布时间:2018/6/21 20:47:00 -- 以下是引用hanzhang98在2018/6/21 18:42:00的发言:
再请教版主:在“增加用户”和“更改用户”窗口给用户的密码加密并写入表中后,在登录窗口输入的密码是不是也得用加密方法验证,登录窗口的加密验证代码又如何写。谢谢!
If e.Form.Controls("PassWord").Value = dr("Password") Then
改成,请灵活变通
If e.Form.Controls("PassWord").Value = MD5Encrypt(dr("Password")) Then |
-- 作者:hanzhang98 -- 发布时间:2018/6/22 17:16:00 -- 甜版主、老师好。如下代码能实现列表框双列显示,但须老师修正。(发不上代码来,说是参数错误,只好发个图片,望老师见谅) [此贴子已经被作者于2018/6/22 17:16:27编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/22 17:41:00 -- 改成
lst.Items.add(dr("用户编码") & " " & dr("用户姓名")) |