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

6)执行参数命令文本(有返回值)

#region  

        public DataSet RunProcReturn(string procName, SqlParameter[] prams, string tbName)

        {

            SqlDataAdapter dap = CreateDataAdaper(procName, prams);

            DataSet ds = new DataSet();

            dap.Fill(ds, tbName);

            this.Close();

            //得到执行成功返回值

            return ds;

        }

        public DataSet RunProcReturn(string procName, string tbName) // -- 1 --

        {

            SqlDataAdapter dap = CreateDataAdaper(procName, null);

            DataSet ds = new DataSet();

            dap.Fill(ds, tbName);

            this.Close();

            //得到执行成功返回值

            return ds;

        }

 

#endregion

7)将命令文本添加到SqlDataAdapter

#region

        private SqlDataAdapter CreateDataAdaper(string procName, SqlParameter[] prams)

        {

            this.Open();

            SqlDataAdapter dap = new SqlDataAdapter(procName, SqlCon);

            dap.SelectCommand.CommandType = CommandType.Text;           //执行类型:命令文本

            if (prams != null)

            {

                foreach (SqlParameter parameter in prams)

                    dap.SelectCommand.Parameters.Add(parameter);

            }

            //加入返回参数

           dap.SelectCommand.Parameters.Add(new SqlParameter("ReturnValue", SqlDbType.Int, 4,

                ParameterDirection.ReturnValue, false, 0, 0,

                string.Empty, DataRowVersion.Default, null));

            return dap;

        }

#endregion

8)将命令文本添加到SqlCommand

#region  

        private SqlCommand CreateCommand(string procName, SqlParameter[] prams)

        {

            // 确认打开连接

            this.Open();

            SqlCommand cmd = new SqlCommand(procName, SqlCon);

            cmd.CommandType = CommandType.Text;           //执行类型:命令文本

            // 依次把参数传入命令文本

            if (prams != null)

            {

                foreach (SqlParameter parameter in prams)

                    cmd.Parameters.Add(parameter);

            }

            // 加入返回参数

            cmd.Parameters.Add(

                new SqlParameter("ReturnValue", SqlDbType.Int, 4,

                ParameterDirection.ReturnValue, false, 0, 0,

                string.Empty, DataRowVersion.Default, null));

            return cmd;

        }

#endregion

 

3.基础功能模块类(ClsSQL.cs)设计

     基础功能模块类主要处理业务逻辑功能。业务层是建成立在数据层和陈述层之上完成的,也就是处理功能窗体与数据库操作的业务功能。下面以“档案室整本图册管理”为例进行功能代码分析。

1)定义整本图册类(数据结构)

当读取或设置整本图册数据时,都是通过整本图册类ClsScroll实现的。代码如下:

#region 定义-- 整本图登记表-- 数据结构

    public class ClsScroll               //整本图登记帐-- 类定义:ClsScroll

    {

        private string Id = "";

        private string Scl_1 = "";

        private string Scl_2 = "";

        private string Scl_3 = "";

        //注:此处省略了类似的定义

        private string Scl_20 = "";

        private string Scl_21 = "";

        private string Creator = "";

        private string Ctime = "";

        private string Mender = "";

        private string Mtime = "";

 

        public string MyId

        {

            get { return Id; }

            set { Id = value; }

        }

        public string MyScl_1

        {

            get { return Scl_1; }

            set { Scl_1 = value; }

        }

        public string MyScl_2

        {

            get { return Scl_2; }

            set { Scl_2 = value; }

        }

       //注:此处省略了类似的定义结构

        public string MyScl_21

        {

            get { return Scl_21; }

            set { Scl_21 = value; }

        }

        public string MyCreator

        {

            get { return Creator; }

            set { Creator = value; }

        }

        public string MyCtime

        {

            get { return Ctime; }

            set { Ctime = value; }

        }

        public string MyMender

        {

            get { return Mender; }

            set { Mender = value; }

        }

        public string MyMtime

        {

            get { return Mtime; }

            set { Mtime = value; }

        }

    }

#endregion

2)整本图册数据基本操作

整本图册数据基本操作主要用于完成对整本图数据的添加、修改、删除、查询及唯一性校验等操作。以下的方法主要提供给陈述层(功能窗体)调用,从编码的角度出发,以下方法的实现是建立在数据层和陈述层(数据库操作类ClsDB.cs)的基础上完成的。

1判断分类卷号[Scl_1][tb_Scroll]表中是否存在

#region

        public bool Find_Srl_1_YN(string TmpScl_1)  //返回逻辑值

        {

            DataSet ds = null;

            ds = data.RunProcReturn("select * from tb_Scroll where Scl_1='" + TmpScl_1 + "'", "tb_Scroll");

            if (ds.Tables[0].Rows.Count > 0)

            { return true; }   //存在返回 -- true

            else

            { return false; }  //不存在返回 -- false

        }

#endregion

2)获取整本图登记帐信息表(tb_Scroll)中所有数据 -- 升序--

#region

        public DataSet GetAll_Scroll_Data(string tbName)  // -- 返回前%条记录-- top 1 percent

        {

            return (data.RunProcReturn("select top 1 percent Id,Scl_1,Scl_2,Scl_3,Scl_4,Scl_5,Scl_6,Scl_7," +

"Scl_17,Scl_18,Scl_19,Scl_20,Scl_21,Creator,Ctime,Mender,Mtime" +

                                       " from tb_Scroll where Scl_1 like 'C%'" +

                                       " order by Id Asc", tbName));

        }

#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