数据库实验报告:ado连接数据库

上传人:第*** 文档编号:55333108 上传时间:2018-09-27 格式:PDF 页数:15 大小:2.74MB
返回 下载 相关 举报
数据库实验报告:ado连接数据库_第1页
第1页 / 共15页
数据库实验报告:ado连接数据库_第2页
第2页 / 共15页
数据库实验报告:ado连接数据库_第3页
第3页 / 共15页
数据库实验报告:ado连接数据库_第4页
第4页 / 共15页
数据库实验报告:ado连接数据库_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《数据库实验报告:ado连接数据库》由会员分享,可在线阅读,更多相关《数据库实验报告:ado连接数据库(15页珍藏版)》请在金锄头文库上搜索。

1、实验名称ADOADO 连接数据库连接数据库学院信息科学与工程学院专业班级通信 班姓名学号数据库系统概论实验报告数据库系统概论实验报告题目:题目:ADO 连接数据库姓名姓名日期日期2014 年 6 月 10 日实验平台:实验平台: Visual Studio 2008 开发环境; 数据库为微软 SQL Server 2000实验目的:实验目的: 1.在 VC 开发环境下使用 ADO 技术连接数据库2.分别使用 Connection、Command 和 Recordset 对象实现对数据库的查询一、一、实验内容和要求实验内容和要求 通过 VS 的应用程序向导创建一个对话框应用程序,使用 ADO 连

2、接数据库。 在对话框上放置三个按钮,分别为使用 Connection、Command 和 Recordset 对象实现对 数据库的查询。 实现每个对话框的事件处理函数,在每个函数中分别通过 Connection、Command 和 Recordset 对象实现对数据库的查询。 二、二、实验步骤实验步骤1.以管理员 sa 登录数据库,新建 scdb 数据库,然后运行如下 SQL 语句,创建我们前几次 实验所建立的表。CREATE TABLE course ( Cno char(4) NOT NULL, Cname char(40) DEFAULT NULL, Cpno char(4) DEFAU

3、LT NULL, Ccredit smallint DEFAULT NULL, PRIMARYKEY (Cno) ) ; - - 转存表中的数据 course - INSERT INTO course (Cno, Cname, Cpno, Ccredit) VALUES (1, 数据库, 5, 4); INSERT INTO course (Cno, Cname, Cpno, Ccredit) VALUES (2, 数学, NULL, 2); INSERT INTO course (Cno, Cname, Cpno, Ccredit) VALUES (3, 信息系统, 1, 4); INSER

4、T INTO course (Cno, Cname, Cpno, Ccredit) VALUES (4, 操作系统, 6, 3); INSERT INTO course (Cno, Cname, Cpno, Ccredit) VALUES (5, 数据结构, 7, 4); INSERT INTO course (Cno, Cname, Cpno, Ccredit) VALUES (6, 数据处理, NULL, 2); INSERT INTO course (Cno, Cname, Cpno, Ccredit) VALUES (7, PASCAL 语言, 6, 4); INSERT INTO c

5、ourse (Cno, Cname, Cpno, Ccredit) VALUES (8, DB_DESIGN, 1, 2);- - 表的结构 sc -CREATE TABLE sc ( Sno char(9) NOT NULL DEFAULT , Cno char(4) NOT NULL DEFAULT , Grade smallint DEFAULT NULL, PRIMARYKEY (Sno,Cno),) ; - - 转存表中的数据 sc - INSERT INTO sc (Sno, Cno, Grade) VALUES (200215121, 1, 92); INSERT INTO sc

6、 (Sno, Cno, Grade) VALUES (200215121, 2, 85); INSERT INTO sc (Sno, Cno, Grade) VALUES (200215121, 3, 88); INSERT INTO sc (Sno, Cno, Grade) VALUES (200215122, 2, 90); INSERT INTO sc (Sno, Cno, Grade) VALUES (200215122, 3, 80); - - - - 表的结构 student - CREATE TABLEstudent ( Sno char(9) NOT NULL, Sname c

7、har(20) DEFAULT NULL UNIQUE, Ssex char(2) DEFAULT NULL, Sage smallint DEFAULT NULL, Sdept char(20) DEFAULT NULL, PRIMARYKEY (Sno), ) - - 转存表中的数据 student - INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept) VALUES (200215121, 李勇, 男, 20, CS); INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept) VALUES

8、(200215122, 刘晨, 女, 19, CS); INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept) VALUES (200215123, 王敏, 女, 18, MA); INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept) VALUES (200215125, 张立, 男, 19, IS); INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept) VALUES (200215128, 陈冬, 男, 18, IS);- - 限制表 cour

9、se - ALTER TABLE course ADD CONSTRAINT course_ibfk_1 FOREIGN KEY (Cpno) REFERENCES course (Cno);- - 限制表 sc - ALTER TABLE sc ADD CONSTRAINT sc_ibfk_1 FOREIGN KEY (Sno) REFERENCES student (Sno); ALTER TABLE sc ADD CONSTRAINT sc_ibfk_2 FOREIGN KEY (Cno) REFERENCES course (Cno);以管理员以管理员 sa 登录数据库登录数据库新建新

10、建 scdb 数据库数据库创建表创建表 2.在应用程序 App 类的 InitInstance()函数中添加如下语句,初始化 COM 库 AfxOleInit();新建项目新建项目 AdoTry完成完成 MFC 应用程序应用程序添加语句添加语句 AfxOleInit()3.在 stdafx.h 中加入如下语句引入 ADO 类库 #import “c:program filescommon filessystemadomsado15.dll“ no_namespace rename (“EOF“,“adoEOF“)几点说明: (1) msado15.dll 所在的目录 (2) 在编译的时候肯能会

11、出现如下警告,对此微软在 MSDN 中作了说明,并建议我们不 要理会这个警告。 msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, result引入引入 ADO 类库类库4.在应用程序的 Dlg 类的定义中增加三个成员变量: _ConnectionPtr m_pConnection; _RecordsetPtr m_pRecordset; _CommandPtr m_pCommand;增加成员变量增加成员变量 5.在应用程序的 Dlg 类的 OnInitDialog()函数中末尾添加如

12、下语句: HRESULT hr; try hr = m_pConnection.CreateInstance(“ADODB.Connection“);/创建 Connection 对 象 if(SUCCEEDED(hr) hr=m_pConnection-Open(“Driver=SQL Server;Server=localhost;Database=scdb;UID=sa;PWD=abc“,“,“,adModeUnknown); catch(_com_error e)/捕捉异常 CString errormessage;errormessage.Format(“连接数据库失败!rn 错误信

13、息:%s“,e.ErrorMessage(); AfxMessageBox(errormessage);/显示错误信息 注意:上面语句中的数据库的名称和用户名密码要根据实际情况来填写。m_pConnection-Open(“Driver=SQL Server;Server=localhost;Database=scdb;UID=sa;PWD=abc“,“,“,adModeUnknown);6.在对话框上添加三个按钮,设置按钮上的标题分别为: “使用 Connection 对象访问数据 库” 、 “使用 Command 对象访问数据库”和“使用 RecordSet 对象访问数据库” 。添加三个按

14、钮添加三个按钮重命名按钮重命名按钮 7.分别双击三个按钮,进入到每个按钮的事件处理函数中,添加如下语句,测试与数据库 的查询。 (1)Connection 对象 _variant_t RecordsAffected; m_pRecordset=m_pConnection-Execute(“SELECTCOUNT(*)FROM student“, _variant_t vIndex = (long)0;_variant_t vCount = m_pRecordset-GetCollect(vIndex);/取得第一个字段 的值放入 vCount 变量 m_pRecordset-Close();/

15、关闭记录集 CString message;message.Format(“共有%d 条记录“,vCount.lVal); AfxMessageBox(message);/显示当前记录条数(2)Command 对象 m_pCommand.CreateInstance(“ADODB.Command“); _variant_t vNULL; vNULL.vt = VT_ERROR;vNULL.scode = DISP_E_PARAMNOTFOUND;/定义为无参数 m_pCommand-ActiveConnection = m_pConnection;/非常关键的一句, 将建立的连 接赋值给它 m_pCommand-CommandText = “SELECT * FROM student“;/命令字串 m_pRecordset = m_pCommand-Execute(/执行命令, 取得记录集_variant_t vName, vAge, vDept, vSex;while(!m_pRecordset-adoEOF)/这里为什么是 adoEOF 而不是 EOF 呢?还记得 rename(“EOF“,“adoEOF“)这一句吗? vName = m_pRecordset-G

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号