美文网首页
5 C#WinForm开发权限管理历程之功能管理

5 C#WinForm开发权限管理历程之功能管理

作者: 白龙马5217 | 来源:发表于2019-11-28 15:48 被阅读0次

0 C#WinForm开发权限管理历程之权限管理概述
1 C#WinForm开发权限管理历程之三层架构
2 C#WinForm开发权限管理历程之新建项目
3 C#WinForm开发权限管理历程之Form1完善
4 C#WinForm开发权限管理历程之主控窗体功能实现

5.1 创建功能管理数据库表sys_menu

Oracle数据库,创建表的Sql语句如下:

-- Create table
create table SYS_MENU
(
  pk_id  VARCHAR2(4) not null,
  s_name VARCHAR2(50) not null,
  s_form VARCHAR2(100) not null,
  s_note VARCHAR2(100)
);

-- Add comments to the table 
comment on table SYS_MENU
  is '系统功能表';
-- Add comments to the columns 
comment on column SYS_MENU.pk_id
  is '功能ID';
comment on column SYS_MENU.s_name
  is '功能名称';
comment on column SYS_MENU.s_form
  is '命名空间.Form';
comment on column SYS_MENU.s_note
  is '注释';
-- Create/Recreate primary, unique and foreign key constraints 
alter table SYS_MENU
  add constraint PK_SYS_MENU primary key (PK_ID);

5.2 创建实体模型SysMenu类

原来在2.4小节创建的类Class1.cs改名为SysMenu.cs,代码如下:

using System.ComponentModel;
namespace Model
{
    public class SysMenu
    {
        [Description("功能ID")]
        public string pk_id { get; set; }
        [Description("功能名称")]
        public string s_name { get; set; }
        [Description("命名空间.Form")]
        public string s_form { get; set; }
        [Description("注释")]
        public string s_mote { get; set; }
    }
}

5.3 实现DAL层
-首先类名改为DALsysMenu
-添加引用System.Data.OracleClient


添加Oracle引用

-添加Model引用

using System.Data.OracleClient;
using Model;

-先实现一个Select 方法
代码如下:

using System.Data;
using System.Data.OracleClient;

namespace DAL
{
    public class DALsysMenu
    {
        #region 连接字符串
        public const string CONSTRING = "Data Source=CQYH;User ID=nmis;password=nmis";
        #endregion

        #region SQL_Select
        public static string SQL_Select = "Select * from sys_menu ";
        #endregion
        #region Select 方法
        public static DataTable Select(string sql_select) {
            DataTable dt = null;
            OracleConnection conn = new OracleConnection(CONSTRING);

            try
            {                
                dt = new DataTable();
                OracleDataAdapter oda = new OracleDataAdapter(sql_select,conn);
                oda.Fill(dt);
            }
            catch
            {
                throw;
            }
            finally
            {
                conn.Close();
                conn.Dispose();
            }
            return dt;
        }
        #endregion

5.4 实现BLL层

添加2个引用System.Data;DAL;

using System.Data;
using DAL;

namespace BLL
{
    public class BLLsysMemu
    {
        public static DataTable Select() {
            return DALsysMenu.Select(DALsysMenu.SQL_Select);
        }
    }
}

5.5 实现UI层的引用

-UI层先添加引用BLL

-打开XIT窗体,添加一个DataGridView控件dataGridView1
-窗体的Load事件代码如下:

using System.Windows.Forms;
using BLL;

namespace AppUI.SDI
{
    public partial class XIT : Form
    {
        public XIT()
        {
            InitializeComponent();
        }

        private void XIT_Load(object sender, System.EventArgs e)
        {
            this.dataGridView1.DataSource = BLLsysMemu.Select();
        }
    }
}

5.6 表里先增加几行演示数据

PK_ID   S_NAME  S_FORM  S_NOTE  ROWID

1 1000 基础数据 AppUI.SDI.JIC
2 2000 业务数据 AppUI.SDI.YEW
3 9000 系统管理 AppUI.SDI.XIT

5.7 测试一下运行效果

演示效果

5.8 列表前面还差一个行号

加个行号

OK出效果了吧,先喝口水,休息一下,再上个厕所。

相关文章

网友评论

      本文标题:5 C#WinForm开发权限管理历程之功能管理

      本文链接:https://www.haomeiwen.com/subject/wlqbwctx.html