首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > 一个分层的小工程(医院信息自动化管理系统)----数据层部分(DataAccess)
【标  题】:一个分层的小工程(医院信息自动化管理系统)----数据层部分(DataAccess)
【关键字】:----,DataAccess
【来  源】:http://blog.csdn.net/nighthawknet/archive/2006/06/23/824829.aspx

一个分层的小工程(医院信息自动化管理系统)----数据层部分(DataAccess)

         最近完成了一个很小的医院信息自动化管理系统,想在此写写对此次开发的总结。因为是第一次从头到尾的自己开发,所以有些地方写的有点幼稚。如有不正确的地方,还请各位高手指教一二!

         先说说我的整体开发过程的思路。
         1.根据系统的预期功能,首先创建好数据库。现在整个工程已经快完工了,总的感觉是数据库建立的好坏十分重要。
         2.写好DataAccess(数据层)。代码准确,不能为后来的开发带来麻烦。
         3.根据具体的功能写出BusinessRules(业务层)。本人的思路是从DataAccess中返回一个DataSet,然后在具体的业务层中的功能块中接受到这个DataSet,在BusinessRules中建立一个DataTable,把DataSet中的数据填充到DataTable中,然后返回DataTable.以供表示层来使用它需要的DataTable。
         4.根据预先想到的功能返回到界面上的设计。由于本人的美工很差,所以界面很一般,只是拖拖控件。

          预期的功能有3部分,分别是:门诊管理,医院设备管理和药房管理。
          从3部分的功能需求出数据库中的实体:员工,病人,设备,部门,科系,病房,病床,门诊业务。与这些实体分别相关的属性表和关系表。现在数据库建好了!那么开始写工程的数据层(DataAccess),程序如下:
         1.一个得到连接字符串的类。
          Public Class conStr
                Private conStr As String

                Public Sub New()
                    conStr = "server=localhost;database=The Hospital Message Manager;user id=sa;password=;"
                End Sub

                Public Function getConStr() As String
                    getConStr = conStr
                End Function
          End Class
      
          2.一个有返回植操作的数据库操作类,即查询。
          Imports System.Data.SqlClient

          Public Class QueryData
                ‘此函数是一个对SQL语句的操作。
                Public Function QueryDataInSentence(ByVal sqlStr As String) As DataSet  
                        Dim constr As New conStr
                        Dim adpter As New SqlDataAdapter
                        Dim ds As New DataSet
                        Dim com As New SqlCommand
                        Dim con As New SqlConnection(constr.getConStr)

                        adpter.SelectCommand = com
                        adpter.SelectCommand.Connection = con
                        adpter.SelectCommand.CommandType = CommandType.Text
                        adpter.SelectCommand.CommandText = sqlStr

                        con.Open()
                        Try
                            adpter.Fill(ds)

                            Return ds
                        Catch ex As Exception
                            MsgBox(ex.Message)
                        Finally
                            con.Close()
                        End Try
                End Function

                ’此函数是个对存储过程的操作。
                Public Function QueryDataInProc(ByVal sqlProcName As String) As DataSet
                        Dim conStr As New conStr
                        Dim adpter As New SqlDataAdapter
                        Dim ds As New DataSet
                        Dim com As New SqlCommand
                        Dim con As New SqlConnection(conStr.getConStr)

                        adpter.SelectCommand = com
                        adpter.SelectCommand.Connection = con
                        adpter.SelectCommand.CommandType = CommandType.StoredProcedure
                        adpter.SelectCommand.CommandText = sqlProcName

                        con.Open()
                        Try
                            adpter.Fill(ds)

                            Return ds
                        Catch ex As Exception
                            MsgBox(ex.Message)
                        Finally
                            con.Close()
                        End Try
                End Function
        End Class
       
        3.一个无返回值的数据操作类,即填加,删除和修改。因为程序的需要,这个类中的方法有个Boolean的返回值。
        Imports System.Data.SqlClient

        Public Class UnQueryData
                ‘此函数是一个对SQL语句的操作。
                Public Function ChangeInSentence(ByVal sqlStr As String) As Boolean
                    Dim constr As New conStr
                    Dim com As New SqlCommand
                    Dim con As New SqlConnection(constr.getConStr)

                    com.Connection = con
                    com.CommandType = CommandType.Text
                    com.CommandText = sqlStr

                    con.Open()
                    Try
                        com.ExecuteNonQuery()

                        Return True
                    Catch ex As Exception
                        Return False
                        MsgBox(ex.Message)
                    Finally
                        con.Close()
                    End Try
                End Function

                ’此函数是个对存储过程的操作。
                Public Function ChangeInProc(ByVal sqlProcName As String) As Boolean
                    Dim constr As New conStr
                    Dim com As New SqlCommand
                    Dim con As New SqlConnection

                    com.Connection = con
                    com.CommandType = CommandType.StoredProcedure
                    com.CommandText = sqlProcName

                    con.Open()
                    Try
                        com.ExecuteNonQuery()

                        Return True
                    Catch ex As Exception
                        Return False
                        MsgBox(ex.Message)
                    Finally
                        con.Close()
                    End Try
                End Function
        End Class
         
        数据层的操作主要注意每个sqlClient对象的生命周期,为了不使BusinessRules层访问此层出现异常情况,我把没个对象的定义都定义在方法里,使得对象的生命周期很短。
asp.net中如何创建备注类型的表:【上一篇】
从EXCEL导入数据到SQL SERVER:【下一篇】
【相关文章】
  • ASP_NET 2_0 监视你的应用---Trace----Error Handing---Web Event
  • 设计模式------单例模式
  • 设计模式------简单工厂模式
  • 设计模式------工厂模式
  • 数据库的创建,修改和删除----利用企业管理器和T-SQL语句
  • 优化详解----深入优化 for C/C++
  • VSS2005 安装疑难解惑-----东南融通实习之1
  • java学习笔记(十三)----IO操作
  • windows内核初窥(二)-----系统机制
  • 连库整理-----C#中使用ADO.NET来访问数据库
  • 【随机文章】
  • 皮肤过敏治疗圣美安纯植物治疗
  • Realize .NET Potential (中文版) 2.0
  • redhat linux 9.0 samba配置详解
  • ASP能读写注册表
  • 第一个JSR-184 MIDlet
  • [原创]我的WCF之旅(3):在WCF中实现双向通信(Bi-directional Communication)
  • 用VB做的合路器
  • Python Cookbook 第二版 汉化版 [Recipe 1.5] 去除字符串末尾的空格
  • 链表操作
  • 校园数字化管理系统V3.0爆破详解
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.