




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、第四章数据库和应用程序开发数据库编程,西安交通大学计算机教育实验中心,软件开发技术基础,2,4.3数据库编程, 4.3.1数据库连接技术1.ODBC微软公司建立1.ODBC (开放数据库连接,开放数据库互连),提供数据库访问的标准API (应用程序编程接口) 基于ODBC的应用程序对数据库的操作与DBMS无关,由相应的DBMS的ODBC驱动程序执行。 可以统一处理所有的数据库. 3、3,2.ado和OLEDB、Microsoft发布的一致的数据访问技术为关系型或非关系型数据访问提供了一致的访问接口。 ADO提供了高级软件界面,不仅可以用于高级语言开发环境,还可以用于脚本语言,还提供了WEB
2、程序访问数据库的快捷方式。 OLEDB提供了基本软件接口、4,3.JDBC和Java数据库连接JDBC(JavaDatabaseConnectivity ),并由一组用Java编程语言编写的类和接口组成JDBC为数据库开发者提供标准API。 程序可以在任何平台上运行。 利用5,4.3.2 VC开发应用系统,1.MFCODBC类配置文件(1) c数据库:建立与数据源的连接virtualBOOLOpen(LPCTSTRlpszDSN,boolbexcluse ),BOOLbUseCursorLib=TRUE; throw(CDBException,CMemoryException) lpszDSN
3、指定数据源名称。 bExclusive说明是否独占数据源,如果仅bReadOnly为TRUE,则到数据源的连接是只读的。 lpszConnect指定包含数据源名称、用户帐户(ID )和密码等信息的连接字符串。 字符串中的“ODBC”表示连接到ODBC数据源。 如果bussecurityrlib为TRUE,则加载光标库。 否则,如果未加载的连接成功,则函数返回TRUE,返回FALSE,如果函数内部发生错误,则发生异常。 6、连接到数据库语句的实例,CDatabasem_db; m_db.open(myds ); m _ db.open (空,假,假, ODBC; DSN=MyDS; UID=AB
4、C; pwd=1234 ); 显示m_db.Open(NULL) /数据源对话框boolIsOpen()const如果返回TRUE,则表示当前连接到virtualvoidClose ()的2)CRecordset类、数据源crecordset (c数据库* p数据库=null ) virtualcstringgetdefaultconnect (); 此函数是默认连接字符串,8,virtualtoolopen (uintnopentype=afx _ db _ use _ default _ type,LPCTSTRlpszSQL=NULL,DWORDdwOptions=none ); thr
5、ow(CDBException,CMemoryException )此函数使用指定的SQL语句查询数据源中的记录,并创建具有指定类型和可选的记录集。 nOpenType指示记录集的类型。 如何打开记录集,请使用快照、生态集、仅前进,9、lpsqls是SQL的SELECT语句,或者表名dwOptions是可选组合crecordset 33366 crecordset :3360不允许修改和删除记录,但可以添加记录。 crecordset :30只读/记录集。 某些数据库(如crecordset :3360 skipdeletedrecords/FoxPro )在删除记录时实际上不被删除,而在滚动
6、已删除的记录时被标记为跳过。 10、调用CRecordset的滚动函数,例如MoveFirst、MoveNext、ovePrev、MoveLast等,改变“当前”记录的位置。 IsBOF,IsEOF用于确定是移动到记录集的开头还是末尾。11、(3)CRecordView,该类提供了直接连接到记录集的表单的视图。 在记录集和表单视图的控件之间传输数据。 12、(表示在ODBC类中发生的异常的4)CDBException。 对于数据库操作错误发生CDBException类型的异常,而对于其他类型的错误发生CMemoryException异常。 可以执行13,2.sql语句,并使用c数据库类的Exe
7、cuteSQL函数直接执行SQL语句。 ExecuteSQL功能:查询记录、创建新表、删除表、创建索引、修改记录、删除记录、插入记录ExecuteSQL声明如下: void执行SQL (lpctstrlpszsql )其中lpszSQL表示要执行的SQL语句。(1)连接到数据库以建立CDataBase类的对象,并通过CDataBase类的Open函数连接到数据库。 (2)可以使用CRecordSet类的Open函数执行用于执行sql语句的结果集的查询操作,而可以使用CdataBase类的Executesql函数执行不返回结果集的其他SQL语句。 (3)切断与数据库的连接用CDataBase类的
8、Close函数切断与数据库的连接。15,4.3.3编程实例,【例4-49】连接到SQL server 2000数据库公司。 假设已为SQLServer2000数据库公司建立了数据源公司ds,并已编程连接到数据库。 如果连接成功,则显示“连接成功”,如果连接失败,则显示“连接失败”。 # include STD afx.h # include # ifdef _ debug # defineewdebug _ new # unde this _ filestaticcharthis _ file =; #endif,CDatabasedatabase; CWinApptheApp; usingn
9、amespacestd; int_tmain(intargc,TCHAR*argv,TCHAR*envp)intnRetCode=0; /mfc初始化后判定if (! afxwininit (:3360 getmodulehandle (null )、null、3360 get command line () /todo : changeerrorcodetosuityourneedsscerr _ /错误消息coutm _ nretcodem _ streerrorm _ strstatenativeorigin n ; database.Close (); /关闭数据库returnnRetCode; ,19,【例4-50】,【例4-50】查询SQL server 2000数据库公司的表企业的记录信息。 假设SQLServer2000数据库的公司已经建立了数据源公司ds,并且公司具有表企业。 此示例显示了表中所有员工的编号、名称、性别、工资。 20、解决问题的想法、数据库连接成功后,调用Crecordset类的Open函数,执行指定的SQL语句查找数据源的记录,并创建指定类型和可选的记录集。 记录集中的记录必须以循环方式一个一个地处理。 处理当前记录后,调用Crecor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西藏拉萨市10校2025年物理高二第二学期期末达标测试试题含解析
- 冬至照片课件
- 浙江省宁波市奉化高中、三山高中等六校2025届物理高一第二学期期末经典模拟试题含解析
- 2025届湖南省湘潭市物理高二下期末考试试题含解析
- 2025年甘肃省武威市河西成功学校物理高二第二学期期末复习检测模拟试题含解析
- 2025年河南省漯河市物理高一下期末综合测试试题含解析
- 二零二五版草原承包权抵押贷款与草原生态修复合同
- 二零二五年度新型绿色建筑安装工程施工劳务合同
- 二零二五年度奥迪汽车技术支持服务合同
- 2025阿里云开发者社区网络安全防护与风险控制合同
- 民宿托管运营合同协议
- 云浮新兴天堂肠粉米浆流变特性与酱汁配伍研究
- 系统化停车场管理方案数据分析与智能优化停车流程
- 2025年贵州贵阳市城市建设投资集团有限公司招聘笔试参考题库含答案解析
- 2025年海南会考试题及答案地理
- 2025年上半年湖北黄冈黄梅县乡镇综合执法中心招聘工作人员15人易考易错模拟试题(共500题)试卷后附参考答案
- 招标代理机构选取突发情况应急处理预案
- 2025版家族信托遗产分配与管理执行合同3篇
- 2024年中国养老产业商学研究报告-银发经济专题
- 新零售无人便利店开发与运营支持方案
- 高教版2023年中职教科书《语文》(基础模块)下册教案全册
评论
0/150
提交评论