实验四医学数据库读写课件.ppt

上传人(卖家):晟晟文业 文档编号:3774818 上传时间:2022-10-11 格式:PPT 页数:48 大小:1.04MB
下载 相关 举报
实验四医学数据库读写课件.ppt_第1页
第1页 / 共48页
实验四医学数据库读写课件.ppt_第2页
第2页 / 共48页
实验四医学数据库读写课件.ppt_第3页
第3页 / 共48页
实验四医学数据库读写课件.ppt_第4页
第4页 / 共48页
实验四医学数据库读写课件.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、实验四 医学数据库读写模块的实现山东大学生物医学工程教研室实验四医学数据库读写1 PACS系统、HIS系统等都使用数据库技术来完成信息有效存取的操作,SQL Server作为一种高效的关系数据库系统经常被使用。本实验通过编写SQL语句,利用ADO实现读写操作,练习医学数据库读写模块的实现方法。关键词关键词:PACS,ADO,SQL语句,VC+,数据库技术实验四医学数据库读写21.ADO简介2.SQL语言介绍3.SQL Server数据库介绍实验四医学数据库读写3 ADO(ActiveX Data Object)是基于OLE DB(微软提供的通向不同数据源的低级应用程序接口)的访问接口,它对OL

2、E DB的接口作了封装,它定义了ADO对象,属于数据库访问的高层接口。ADO提供了访问各种数据库的统一手段,它可以处理任何类型的数据。它功能强大,易于使用、速度快、内存支出少,并且支持ClientServer模式。实验四医学数据库读写4ADO访问数据库的过程如下:第一步:用#import指令引入动态链接库,并从其中取出对象和信息;第二步:使用智能指针_ConnectionPtr创建数据库的连接;第三步:利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录进行查询、处理;第四步:关闭和数据库的连接;实验四医学数据库读写5SQL是英

3、文(Structured Query Language)的缩写,意思为结构化查询语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Microsoft SQL Server,Access等都采用了SQL语言标准。SQL语言的优点:1.非过程化语言 2.统一的语言 3.是所有关系数据库的公共语言实验四医学数据库读写6SQL语言分类:数据查询语言DQL-Data Query Language:SELECT 数据操纵语言DML-Data Manipulation Language:I

4、NSERT,UPDATE,DELETE 数据定义语言DDL-Data Definition Language:CREATE,ALTER,DROP 数据控制语言DCL-Data Control Language:COMMIT WORK,ROLLBACK WORK本实验主要使用Select,Insert,Delete和Update实现对数据库的查询、插入、删除和修改操作。实验四医学数据库读写7 SQL Server 2000 是Microsoft 公司推出的数据库管理系统。具有使用方便、可伸缩性好、与相关软件集成程度高等优点。可跨越从多种平台使用。SQL Server是一个功能完备的数据库管理系统

5、。它包括支持标准的SQL语言、并具有可扩展的特性。而其具备的存储过程、触发器等特性,也是大型数据库才拥有的。实验四医学数据库读写8接下来向大家介绍一下建立数据库及在数据库中建表的过程:Step1:启动SQL Server企业管理器,在SQLServer组处单击右键,选择“新建SQLServer注册”,在出现的对话框中如下将服务器设为本机,也可根据所用服务器填写服务器ID。实验四医学数据库读写9实验四医学数据库读写10实验四医学数据库读写11Step2:单击服务器旁的加号(+),其中便包含了已有的数据库。在数据库文件夹上单击鼠标右键,选择“新建数据库”菜单选项。系统会显示数据库属性对话框。Ste

6、p3:选择常规标签(如图,该标签在初始时已默认被选中),在名称文本输入一个数据库名,我们这里输入的是dialog(即是创建后的数据库名)。其余的用默认值即可。实验四医学数据库读写12实验四医学数据库读写13实验四医学数据库读写14Step4:单击数据库旁的加号(+),其中便包含了已有的表。在表文件夹上单击鼠标右键,选择“新建表”菜单选项。在出现的新窗口中设置新表的各项,关闭时保存该表并将其命名为dialog。Step5:打开该表并填写表的内容,至此,对数据库及其中的表的建立完成。实验四医学数据库读写15实验四医学数据库读写16实验四医学数据库读写17实验四医学数据库读写18实验四医学数据库读写

7、19Step1:装ADO补丁包mdac_typ.exe。Step2:使用VC+新建对话框工程,并在工程中通过project-add to project-files添加ado.h和ado.cpp,通过这其中的五个类来间接使用ADO。Step3:在header files中找到文件stdafx.h中#endif/_AFX_NO_AFXCMN_SUPPORT下面添加语句#import“C:Program FilesCommon FilesSystemadoMSADO15.DLL”no_namespace rename(“EOF”,“AdoEOF”),目的是引入ado的动态链接库(打开ADO补丁包m

8、dac_typ.exe后就在计算机上安装了此动态链接库)。实验四医学数据库读写20实验四医学数据库读写21Step4:在对话框类头文件中,引入头文件 ado.h(#include ado.h)。Step5:在对话框类中加入CADODatabase的成员变量m_conn(成员变量一般加m_)。实验四医学数据库读写22实验四医学数据库读写23Step6:用对话框编辑工具条中的Static Text、Edit Box、Group Box和Button按钮编辑对话框的界面。Step7:编写由“查询”按钮生成的响应函数OnSearch。初始化连接串,连接数据库,并进行查询操作。Step8:编写由“插入”

9、按钮生成的响应函数OnInsert,初始化连接串,连接数据库,并进行插入操作。Step9:编写由“删除”按钮生成的响应函数OnDelete,初始化连接串,连接数据库,并进行删除操作。Step10:编写由“修改”按钮生成的响应函数OnUpdate,初始化连接串,连接数据库,并进行修改操作。实验四医学数据库读写24返回致谢实验四医学数据库读写25 验证信息初始化连接PACS数据库是否成功?设定SQL检索条件检索是否成功记录是否结束添加查询值到显示列表显示查询结果关闭数据库程序结束显示连接失败显示检索失败移到下一条记录是否是否是否是验证信息初始化连接PACS数据库是否成功?设定SQL插入条件插入操作

10、返回值是否为真?显示“插入成功”关闭数据库程序结束显示连接失败显示“插入失败”是执行插入操作否否实验四医学数据库读写26 是验证信息初始化连接PACS数据 库 是 否 成功?设定SQL更新条件插 入 操 作 返回 值 是 否 为真?显示“修改成功”关闭数据库程序结束显示连接失败显示“修改失败”是执行更新操作否是验证信息初始化连接PACS数据库是否成功?设定SQL删除条件插入操作返回值是否为真?显示“删除成功”关闭数据库程序结束显示连接失败显示“删除失败”是执行删除操作否实验四医学数据库读写27OnSearch()的源程序OnInsert()的源程序OnDelete()的源程序OnUpdate(

11、)的源程序实验四医学数据库读写28wvoid CWhlDlg:OnSearch()wwUpdateData(true);wCString strConnectionStr;wCString password=;wCString userid=sa;w/CString dbname=LwPacs;wstrConnectionStr.Format(Provider=SQLOLEDB.1;Password=%s;Persist Security Info=True;User ID=%s;Initail CataLog=lwpacs;Data Source=127.0.0.1,password,use

12、rid);wif(!m_conn.Open(strConnectionStr)wwAfxMessageBox(无法访问PACS数据库,按“确定”退出程序);wexit(0);wwelsewwCADORecordset RecordSet(&(m_conn);/结果集变量,m_conn表示查询前首先建立的连接w实验四医学数据库读写29wCString sql;wsql.Format(select*from dialog.dbo.dialog where PatId=%s or PatNam=%s or PatSex=%s or PatAge=%s,m_pid,m_pnam,m_psex,m_pa

13、ge);wif(!RecordSet.Open(sql,CADORecordset:openQuery)/open即开始执行查找wAfxMessageBox(数据库检索失败!);welsewCString strNameList=;wwhile(!RecordSet.IsEOF()wwCString strName=;wRecordSet.GetFieldValue(PatNam,strName);wstrNameList+=strName;wstrNameList+=,;wRecordSet.MoveNext();wwAfxMessageBox(strNameList);wwm_conn.C

14、lose();ww实验四医学数据库读写30void CWhlDlg:OnInsert()UpdateData(true);/用文本框中的内容更新成员变量,用文本框中的内容更新成员变量,CString strConnectionStr;CString password=;CString userid=sa;/CString dbname=lwpacs;strConnectionStr.Format(Provider=SQLOLEDB.1;Password=%s;Persist Security Info=True;User ID=%s;Initail CataLog=lwpacs;Data So

15、urce=127.0.0.1,password,userid);if(!m_conn.Open(strConnectionStr)AfxMessageBox(无法访问无法访问PACS数据库,按数据库,按“确定确定”退出程序退出程序);exit(0);else CString strSQL=insert into dialog.dbo.dialog(PatID,PatNam,PatSex,PatAge)values(;strSQL+=+m_pid+,;strSQL+=+m_pnam+,;strSQL+=+m_psex+,;strSQL+=+m_page+);if(m_conn.Execute(s

16、trSQL)/成功插入后返回成功插入后返回1AfxMessageBox(插入成功!插入成功!);else AfxMessageBox(插入失败!插入失败!);m_conn.Close();实验四医学数据库读写31void CWhlDlg:OnDelete()UpdateData(true);CString strConnectionStr;CString password=;CString userid=sa;strConnectionStr.Format(Provider=SQLOLEDB.1;Password=%s;Persist Security Info=True;User ID=%s

17、;Initail CataLog=lwpacs;Data Source=127.0.0.1,password,userid);if(!m_conn.Open(strConnectionStr)AfxMessageBox(无法访问无法访问PACS数据库,按数据库,按“确定确定”退出程序退出程序);exit(0);elseCString sql;sql.Format(delete from dialog.dbo.dialog where PatId=%s or PatNam=%s or PatSex=%s or PatAge=%s,m_pid,m_pnam,m_psex,m_page);if(m_

18、conn.Execute(sql)/成功删除后返回成功删除后返回1AfxMessageBox(删除成功!删除成功!);else AfxMessageBox(删除失败!删除失败!);m_conn.Close();实验四医学数据库读写32void CWhlDlg:OnUpdate()UpdateData(true);CString strConnectionStr;CString password=;CString userid=sa;strConnectionStr.Format(Provider=SQLOLEDB.1;Password=%s;Persist Security Info=True

19、;User ID=%s;Initail CataLog=lwpacs;Data Source=127.0.0.1,password,userid);if(!m_conn.Open(strConnectionStr)AfxMessageBox(无法访问无法访问PACS数据库,按数据库,按“确定确定”退出程序退出程序);exit(0);elseCString sql;sql.Format(update dialog.dbo.dialog set PatNam=%s,PatSex=%s,PatAge=%s where PatId=%s,m_pnam,m_psex,m_page,m_pid);if(m

20、_conn.Execute(sql)/成功修改后返回成功修改后返回1AfxMessageBox(修改成功!修改成功!);else AfxMessageBox(修改失败!修改失败!);m_conn.Close();实验四医学数据库读写33*UpdateData(true),使edit控件中的内容与其对应变量值保持一致,实现查询内容的是实时更新。*strConnectionStr.FormatProvider=SQLOLEDB.1;Password=%s;Persist Security Info=True;User ID=%s;Initail CataLog=lwpacs;Data Source

21、=127.0.0.1“,password,userid),初始化数据库登陆信息*m_conn.Open(strConnectionStr)验证数据库登陆信息与数据库系统是否匹配,匹配的话打开数据库strConnectionStr为登陆信息字符串,由上一函数初始化。*RecordSet.Open(sql,CADORecordset:openQuery)验证是否连接到记录,sql为SQL操作语句字符串,CADORecordset:openQuery为SQL查询操作标志字符,属于enum 数据类型。*AfxMessageBox()是系统自带的提示框函数,可用于程序调试*RecordSet.IsEOF

22、()是检验是否在结果集最后一条记录之后*RecordSet.GetFieldValue(Csting const a,Cstring b)获取一条记录中的某个字段,将a属性对应的值赋给b*RecordSet.MoveNext()转到下一条记录。*CADODatabase.Close()关闭与数据库的连接。*m_conn.Execute(strSQL)执行指定的SQL语句实验四医学数据库读写34Step1:经过编译、连接和运行程序没有错误.如图。Step2:验证OnSearch()程序,在查询项中的编号输入0001,单击“查询”按钮。运行结果如图。Step3:打开dialog数据库中的dialo

23、g表,发现查询的信息是正确的.Step4:验证OnInsert()程序,在插入项的各项中依次输入0011、王洪良、男、23,单击“插入”按钮。运行结果如图。Step5:打开dialog数据库中的dialog表会发现信息已经插入成功.Step6:验证OnDelete()程序,输入病人任一信息,此处我们输入编号0001,单击“删除”按钮.Step7:打开dialog数据库中的dialog表,发现病人信息已删除.Step8:验证OnUpdate()程序,输入拟修改的病人信息,如将0011号王洪良的性别和年龄改为女、58,输入信息,单击“修改”按钮.Step9:打开dialog数据库的dialog表发现病人信息已修改.实验四医学数据库读写35 实验四医学数据库读写36返回实验四医学数据库读写37实验四医学数据库读写38返回实验四医学数据库读写39返回实验四医学数据库读写40返回实验四医学数据库读写41返回实验四医学数据库读写42返回实验四医学数据库读写43返回实验四医学数据库读写44返回实验四医学数据库读写45返回实验四医学数据库读写46返回实验四医学数据库读写47返回实验四医学数据库读写48

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 医疗、心理类
版权提示 | 免责声明

1,本文(实验四医学数据库读写课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|