你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 专家论坛
利用C#开发科技档案管理系统(五)
 

6           公共类设计

开发项目时,以类的形式来组织、封装一些常用的方法和事件,不仅可以提高代码的重用率,也大大方便了代码的管理。本系统中共创建了三个公共类文件:ClsComm.cs(公共变量定义类)、ClsDB.cs(数据库操作类)和ClsSQL.cs(基础功能模块类)。其中公共变量定义类主要用来定义系统中的全局变量,数据库操作类主要用来访问 SQL Server数据库,基础功能模块类主要用来处理业务逻辑功能,也就是实现功能窗体(陈述层)与数据库操作(数据层)的业务功能。图4是数据库操作类、基础功能模块类和功能窗体之间理论关系图。

 



4 各层之间关系图

1.公共变量定义类(ClsComm.cs)设计

   该类中定义了系统中使用的全局变量,主要用于系统权限控制。代码如下:

namespace DrawingSys.BaseClass

{

    class ClsComm

    {

      #region

        public static string Str_IP = "";          //服务器IP -- 默认是本机

        public static int Int_Id = 0;              //登录用户ID

        public static string Str_UserName = "";    //登录用户名

        public static int Int_SysPower = 0;        //管理权限

        public static int Int_AddPower = 0;        //增加权限

        public static int Int_EditPower = 0;       //编辑权限

        public static int Int_DelePower = 0;       //删除权限

        public static int Int_BrowPower = 0;       //浏览权限

        public static int Int_FindPower = 0;       //查询权限

        public static int Int_PrintPower = 0;      //打印权限

        public static int Login_Id = 0;            //登录序号

      #endregion

    }

}

2.数据库操作类(ClsDB.cs)设计

数据库操作类主要实现的功能有:打开数据库连接、关闭数据库连接、释放数据库连接资源、传入参数并且转换为SqlParameter类型、执行参数命令文本(无返回值)、执行参数命令文本(有返回值)、将命令文本添加到SqlDataAdaper、将命令文本添加到SqlCommand      下面是数据库操作类源代码。

private SqlConnection SqlCon;     //创建连接对象 SqlCon

1)打开数据库连接-- SqlCon

#region 

        private void Open()

        {

            //初始化数据库连接字符串,然后通过State属性判断连接状态,如果数据库连接状态为关,则打开数据库连接。

            if (SqlCon == null)

            {

                SqlCon = new SqlConnection("Data Source=" + BaseClass.ClsComm.Str_IP.Trim() + ";DataBase=DrawSys;User ID=sa;PWD=sa"); 

            }

            if (SqlCon.State == System.Data.ConnectionState.Closed)

                SqlCon.Open();

        }

#endregion

2关闭连接-- SqlCon

#region 

        public void Close()

        {

            if (SqlCon != null)

                SqlCon.Close();

        }

#endregion

3)释放数据库连接资源-- SqlCon

#region

        public void Dispose()

        {

            if (SqlCon != null)

            {

                SqlCon.Dispose();

                SqlCon = null;

            }

        }

#endregion

4传入参数并且转换为SqlParameter类型

#region  

        public SqlParameter MakeInParam(string ParamName, SqlDbType DbType, int Size, object Value)

        {

            return MakeParam(ParamName, DbType, Size, ParameterDirection.Input, Value);

        }

        public SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)

        {

            SqlParameter param;

            if (Size > 0)

                param = new SqlParameter(ParamName, DbType, Size);

            else

                param = new SqlParameter(ParamName, DbType);

            param.Direction = Direction;

            if (!(Direction == ParameterDirection.Output && Value == null))

                param.Value = Value;

            return param;

        }

#endregion

5)执行参数命令文本(无数据库中数据返回)

#region  

        public int RunProc(string procName, SqlParameter[] prams)

        {

            SqlCommand cmd = CreateCommand(procName, prams);

            cmd.ExecuteNonQuery();

            this.Close();

            //得到执行成功返回值

            return (int)cmd.Parameters["ReturnValue"].Value;

        }

        public int RunProc(string procName)

        {

            this.Open();

            SqlCommand cmd = new SqlCommand(procName, SqlCon);

            cmd.ExecuteNonQuery();

            this.Close();

            return 1;

        }

#endregion

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089