不说废话了,直接上图,高手勿喷,一直在忙,也没来得及弄,这个权限系统。
用到的表:
四张表:用户登录,角色,系统信息,自动编号.
'看了好多同学说出错,所以,我直接把项目文件上传上来。大家直接看项目文件就可以了。
admin密码为:123
此主题相关图片如下:t1.png
按照这个在狐表中建表。
然后做下面一个窗口:权限维护窗口.
此主题相关图片如下:t2.png
然后再做一个窗口:模块维护窗口。
此主题相关图片如下:t3.png
需要用的自定义函数:
1.Functions.Execute("add")函数参数2个。函数内容:
Dim nd As WinForm.TreeNode = args(0)
Dim dts As DataTable = args(1)
Dim drs As List(of DataRow)
drs = dts.Select("[父编号] = '" & nd.Name & "'")
For Each dr As DataRow In drs
Dim cd As Winform.TreeNode = nd.Nodes.Add(dr("系统编号"),dr("功能模块"))
Functions.Execute("Add",cd,dts)
Next
2.Functions.Execute("reflash"),参数1,函数内容:
Dim tr As WinForm.TreeView = args(0)
Dim nd As WinForm.TreeNode
Dim dts As DataTable = DataTables("系统信息")
Dim dm As DataRow
tr.StopRedraw()
tr.Nodes.Clear
tr.Nodes.Add("全部")
For Each dr As DataRow In dts.datarows
If dr.IsNull("父编号") Then
nd = tr.Nodes.Add(dr("系统编号"),dr("功能模块"))
Functions.Execute("add",nd,dts)
End If
Next
tr.ResumeRedraw()
If pw = True Then
For Each nds As WinForm.TreeNode In tr.AllNodes
nds.Checked = 权限集合.Contains(nds.Name)
Next
End If
tr.ExpandAll
3.Functions.Execute("保存用户")参数1.函数内容:
Dim frm As winform.Form = args(0)
Dim users As WinForm.TextBox = frm.Controls("TextBox2")
Dim pass As WinForm.TextBox = frm.Controls("TextBox3")
Dim apass As WinForm.TextBox = frm.Controls("TextBox10")
Dim lb As WinForm.Label = frm.Controls("Label18")
Dim dtb As DataTable = DataTables("权限维护_table1")
Dim tbs As Table = Tables("权限维护_table1")
Dim drs As List(Of DataRow)
drs = dtb.Select("用户名 ='" & users.value & "'")
If drs.Count >1 Then
MessageBox.Show("用户列表中用户名称重复,不能保存,请查询修改.")
Return True
End If
If tbs.Current Is Nothing Then
Else
If tbs.Current.DataRow.RowState = DataRowState.Added Then
If pass.value = "" Then
lb.text = "密码不能为空!"
Return True
Else
lb.text = "提示信息:"
End If
If pass.Value.Length <3 Then
lb.Text = "提示信息:密码应该不小于3"
Return True
Else
lb.text = "提示信息:"
End If
If pass.Value <> apass.Value Then
lb.Text = "提示信息:重复密码不一致!"
Return True
Else
lb.text = "提示信息:"
End If
Dim jm As String =EncryptText(pass.Value,"lizhen","sq#")
apass.Value = jm
tbs.Current("密码") = jm
ElseIf tbs.Current.DataRow.RowState = DataRowState.Modified Then
If Apass.Value = "" Then
tbs.Current("密码") = tbs.Current.DataRow.OriginalValue("密码")
ElseIf Apass.value > "" Then
If apass.value <> pass.value Then
tbs.Current("密码") = tbs.Current.DataRow.OriginalValue("密码")
lb.Text = "提示信息:重复密码不一致!"
Return True
Else
Dim jmp As String =EncryptText(pass.Value,"lizhen","sq#")
apass.Value = jmp
tbs.Current("密码") = jmp
lb.Text = "提示信息:"
End If
End If
End If
End If
'MessageBox.Show(1)
pause = False
---------------------------------------------接下来继续说。
[此贴子已经被作者于2013-9-8 18:19:50编辑过]