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

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

         先说说我的整体开发过程的思路。
         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层访问此层出现异常情况,我把没个对象的定义都定义在方法里,使得对象的生命周期很短。

数据库设计之概念结构设计---------E-R图详解

0、试述采用E-R方法进行数据库概念设计的过程。 答:采用E-R方法进行数据库概念设计,可以分成3步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局的E-R模式,最后对全局E-R模...
  • zxq1138634642
  • zxq1138634642
  • 2013年06月18日 15:57
  • 99226

异构医院信息系统(HIS)更换时数据迁移的方法

http://blog.vsharing.com/blueesse/  1、医院信息系统(HIS)数据迁移需求的提出     当下医院搞信息化建设,除了新建医院,大部分医院...
  • wuhongyao3
  • wuhongyao3
  • 2016年07月06日 19:17
  • 1175

医院真空管道垃圾自动收集系统

垃圾污衣被服自动真空管道收集系统原理
  • soft2buy
  • soft2buy
  • 2014年07月16日 12:26
  • 4439

软件工程-医院信息管理系统

  • 2012年04月09日 08:41
  • 1.78MB
  • 下载

如何开发大型EMR电子病历源码三甲医院医疗信息管理系统软件网络版

开发环境 :VS2010 + C# + ORACLE 系统简介: 1各种记录的书写,并可保留修改痕迹  在各种记录的书写过程中,根据系统提供的首次护理记录、一般护理记录、术前术后护理记录等模板,可方便...
  • yuanfg_1220
  • yuanfg_1220
  • 2017年12月27日 18:21
  • 67

大连理工大学数据结构上机第三章医院设备管理系统

大连理工大学数据结构上机作业 第三章 医院设备管理系统
  • L1558198727
  • L1558198727
  • 2017年12月06日 20:15
  • 28

医院管理系统-软件工程

  • 2012年10月17日 20:29
  • 1.1MB
  • 下载

企业进行信息化顶层设计的核心方法   随着企业信息化建设的深入,应用层次和水平不断地提高,企业迫切需要集成化、自动化的信息管理系统来支撑企业业务的迅速发展需要,然而由于信息化建设的阶段性决定,企

x   随着企业信息化建设的深入,应用层次和水平不断地提高,企业迫切需要集成化、自动化的信息管理系统来支撑企业业务的迅速发展需要,然而由于信息化建设的阶段性决定,企业对移动办公信息化建设过程中有关信...
  • nininglu
  • nininglu
  • 2014年09月25日 11:27
  • 1184

软件工程课设——学生信息管理系统

代码长度超过系统设置了。。帮同学做的课设~import java.awt.Color;import java.awt.Graphics; import java.awt.Image; import j...
  • Derek_BMW
  • Derek_BMW
  • 2013年03月29日 20:18
  • 1126

医院信息管理系统

  • 2018年01月02日 19:01
  • 1.55MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个分层的小工程(医院信息自动化管理系统)----数据层部分(DataAccess)
举报原因:
原因补充:

(最多只允许输入30个字)