数据库原理-实验5-通过嵌入式SQL访问数据库分析.docx

数据库原理-实验5-通过嵌入式SQL访问数据库分析.docx

数据库原理-实验5-通过嵌入式SQL访问数据库分析

一、实验目的熟悉通信区、游标的概念;理解嵌入式SQL的处理过程;掌握SQL与主语言之间的通信机制;熟悉通过嵌入式SQL访问数据库二、实验环境SQL Server2008 VC++ 6.0三、实验学时2学时四、实验内容及步骤1. 查看SQL Server的参考文献,找出嵌入式SQL编程所需的各种组件,如下图所示:通过自定义的方式安装SQL Server,确保上述组件安装成功,并找出这些组件所在的目录路径,如下面的图示:创建一个数据库,本例的数据库为stu,并将其密码设置为sa;使用文本编辑器编写一个嵌入式SQL程序,扩展名为sqc。本例的嵌入式SQL程序名称为EmbedSql.sqc,程序如下:#include stdio.h#include stdlib.hEXEC SQL INCLUDE sqlca;int main(){ EXEC SQL BEGIN DECLARE SECTION;//主变量char lname[40];char fname[20]; EXEC SQL END DECLARE SECTION; printf(This is my Embedded SQL for C application\n); EXEC SQL CONNECT TO WIN-CF7AKAVRCJA.pubs USER sa.sa;//连接到数据库 if (SQLCODE == 0) { printf(Connection to SQL Server established\n); } else { // 连接DBMS错误 printf(ERROR: Connection to SQL Server failed\n); return (1); }EXEC SQL DECLARE selCursor CURSOR FORSELECT au_lname, au_fnameFROM authors;EXEC SQL OPEN selCursor ;for ( ; ; ) { /* Fetch next row of the result table */EXEC SQL FETCH selCursor INTO :lname,:fname;if (SQLCODE == 0){printf(lname:%s/n,lname);printf(fname:%s/n,fname);}elsebreak;/* display data */}error: printf (SQL error %d\n,sqlca-sqlcode);//若照书上写sqlca.sqlcode编译报语法错done:/* Close the cursor before completing*/ EXEC SQL WHENEVER SQLERROR continue;EXEC SQL CLOSE providerCursor; EXEC SQL COMMIT WORK RELEASE; //断开连接 EXEC SQL DISCONNECT ALL;return 0; }5. 实例工程的构建:打开VC6.0,新建名为esqlea1的WIN32 Console Application工程文件;把EmbedSql.sqc拷贝到工程的目录文件夹下;将上述组件拷贝到工程的目录文件夹下;在工具菜单下选择Options,再选择Directories,在Show Directories for 下拉框中选择Include files,在Directories编辑框中输入SQLServer开发工具的头文件路径;选择library files,在Directories编辑框中输入SQLServer开发工具的库文件路径;选择可执行文件,在Directories编辑框中输入SQLServer开发工具的可执行文件路径。如下面的图示:(5)在工程的source files下,将编写号的Embedsql.sqc添加到工程,如下图所示:(6)在EmbedSql.sqc上点击鼠标右键,选择settings,在Commands编辑框中输入nsqlprep Embedsql.sqc,在outputs框中输入EmbedSql.c,并确定。如下图:(7)编译,将.sqc文件变为同名的.c文件,并将这个同名的.c文件加入到工程中来;(8)要将目标文件连接成可执行文件,需要在project settings 的links下的object/library modules中,加入caw32.lib和sqlakw32.lib两个库文件,如图:(9)确保sqlakw32.dll在工程目录文件夹下,

文档评论(0)

1亿VIP精品文档

相关文档