欢迎来到天天文库
浏览记录
ID:59222579
大小:574.50 KB
页数:12页
时间:2020-09-09
《北邮大三下第4次数据库实验报告--mysql.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验四数据库接口实验-1一、实验内容以教科书第四章关于SQL语言相关内容为基础,课后查阅、自学ODBC接口有关内容,包括ODBC的体系结构、工作原理、数据访问过程、主要API接口的语法和使用方法等。以实验二建立的学生数据库为基础,编写C语言(或其它支持ODBC接口的高级程序设计语言)数据库应用程序,按照如下步骤访问数据库a)Step1.ODBC初始化,为ODBC分配环境句柄b)Step2.建立应用程序与ODBC数据源的连接c)Step3.利用SQLExecDirect语句,实现数据库应用程序对数据库的建立、查询、修改、删除等操作d)Step4.检索查询结果集e)Step5.结束数
2、据库应用程序二、实验要求要求所编写的数据库访问应用程序中使用到以下主要的ODBCAPI函数:(1)SQLALLocEnv:初始化ODBC环境,返回环境句柄(2)SQLALLocConnect:为连接句柄分配内存并返回连接句柄(3)SQLConnect:连接一个SQL数据资源 (4)SQLDriverConnect连接一个SQL数据资源,允许驱动器向用户询问信息 (5)SQLALLocStmt;为语句句柄分配内存,并返回语句句柄(6)SQLExecDirect把SQL语句送到数据库服务器,请求执行由SQL语句定义的数据库访问(7)SQLFetchAdvances将游标移动到到查
3、询结果集的下一行(或第一行)(8)SQLGetData按照游标指向的位置,从查询结果集的特定的一列取回数据(9)SQLFreeStmt释放与语句句柄相关的资源(10)SQLDisconnect切断连接(11)SQLFreeConnect释放与连接句柄相关的资源(12)SQLFreeEnv;释放与环境句柄相关的资源三、实验环境Windows7系统mysql数据库管理平台visualstudioC++编程平台(codeblocks或者devc++)四、实验步骤1、ODBC的体系结构、工作原理、数据访问过程、主要API接口的语法和使用方法等。以实验二建立的学生数据库为基础,编写C语言
4、(或其它支持ODBC接口的高级程序设计语言)数据库应用程序,按照如下步骤访问数据库。a)Step1.ODBC初始化,为ODBC分配环境句柄安装mysql-connector-odbc-5.3.4-winx64再转到系统DSN,点击“添加”,从“创建数据源”列表中选择刚安装的驱动。b)Step2.建立应用程序与ODBC数据源的连接。DSN:数据源名称 用户DSN:对当前用户可见,只能用于当前计算机上的数据源。 系统DSN:对当前计算机上所有的用户可见,包括NT服务器。 文件DSN:可有安装了相同驱动程序的用户共享的数据源。设置用户DSN,连接到本地mysql的数据库。为了防止在程序
5、运行后中文数据乱码,请将设置中的编码格式“characterset”设置为gb2312.如下图:连接成功。a)Step3:配置VS环境:1、新建一个工程,随便写一个helloworld,目的是就是让工程下的“debug”文件夹出现 2、把D:ProgramFilesMySQLMySQLServer5.6lib下面的libmysql.dll复制到工程的debug文件夹里面 3、接下来要设置一些引用文件的环境变量,首先,点击项目->属性->vc++目录。 然后“include目录”那把“C:ProgramFilesMySQLMySQLServer5.6include”
6、给加进来 再然后“lib目录”那里把“C:ProgramFilesMySQLMySQLServer5.6lib”也一起加进来b)Step4.利用SQLExecDirect语句,实现数据库应用程序对数据库的建立、查询、修改、删除等操作、检索查询结果集。实验代码:#include#include#include"windows.h"#include"sql.h"#include"sqlext.h"#include"sqltypes.h"#include"odbcinst.h"#pragmacomment(lib,"odbc32.lib")
7、#pragmacomment(lib,"libmysql.lib")structcourse_cell{charcno[5];charcname[20];intlhour;intcredit;charsemester[5];};unsignedcharsql_select[]="select*fromstudent.course";//SQL查询语句unsignedcharsql_dolist[3][100]={"insertintostudent.coursevalues ('
此文档下载收益归作者所有