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出效果了吧,先喝口水,休息一下,再上个厕所。
网友评论