北邮大三下数据库实验报告4.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北邮大三下数据库实验报告4

北京邮电大学 实验报告 课程名称 数据库系统原理 实验内容 实验4 数据库接口实验 班级 2013211*** 姓名 *** 指导老师 成绩_________ 2016年 05月 12日 实验4 数据库接口实验 实验目的: 1.通过实验了解通用数据库应用编程接口ODBC的基本原理和实现机制,熟悉主要的ODBC接口的语法和使用方法; 2.利用C语言(或其它支持ODBC接口的高级程序设计语言)编程实现简单的数据库应用程序,掌握基于ODBC的数据库访问的基本原理和方法。 3.尝试使用SQL Server上的工具以特定格式导出数据,初步了解现代程序设计辅助工具的使用,加深对接口和数据库与外界的联系的认识。 实验内容: 本实验内容主要是如何通过数据库接口访问(包括增、删、改)数据库中的数据。 要求能够通过编写程序或者使用SQL Server工具访问到数据。该实验的重点在于ODBC数据源配置和工具使用,而不在于编写有一定复杂度的程序。 实验步骤 在Windows控制面板中通过管理工具下的ODBC数据源工具在客户端新建连接到SQL Server服务器的ODBC数据源,测试通过后保存,注意名字要和应用程序中引用的数据源一样。 A)打开odbc数据源管理器,点击“添加”。 B)选择SQL Server,“完成”。 C)为你的数据源命名,要记住这个名字,在编写程序中要进行链接。然后“下一步”。 D)如图所选,点击下一步 E)选择自己已经建立好的数据库。点击“下一步”。 F)到这个界面,直接点击“下一步”。 G)点击“测试数据源”进行测试,看时候能够连接成功。 H)如图所示,连接成功。 编译程序并调试通过。 源代码见附录。 实验运行效果图: A) B)进行“删除”操作 删掉了第二条记录。 C)进行“insert”操作 记录又添加回来了。 D)进行“update”操作 将book_id为dep04_b001_aa的元组的book_id改为dep04_b001_02。 实验总结: 配置接口时花了一些功夫,测试数据源的时候总是连接不上,后来在“连接哪个SQL”这个选项选了local才成功。代码的编写理论上不困难,但是实际操作起来刚开始还是摸不着头脑,借鉴了别人的才知道连接句柄、环境句柄等的作用。代码运行过后,数据库中相应数据被程序改写,因为数据库没有设置主键,所以“插入”操作可以插入几个重复的元组。 源代码: #include <windows.h> #include <stdio.h> #include <sql.h> #include <sqlext.h> #include <sqltypes.h> HENV henv; HDBC hdbc; HSTMT hsmt; SQLRETURN sret; char szMscID[15]; long cbMscID; char szMscName[15]; long cbMscName; char szMscCompany[15]; long cbMscCompany; char szMscLongitude[15]; long cbMscLongitude; char szMscLatitude[15]; long cbMscLatitude; SQLREAL szMscAltitude; long cbMscAltitude; void printDB(); void deleteDB(); void updateDB(); void insertDB(); void renewHSMT(); int main() { sret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); if (sret != SQL_SUCCESS && sret != SQL_SUCCESS_WITH_INFO) printf("wrong!1"); else { sret = SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER); if (sret != SQL_SUCCESS && sret != SQL_SUCCESS_WITH_INFO) printf("wrong!2"); else

文档评论(0)

5500046 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档