- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、实验目的
熟悉通信区、游标的概念;
理解嵌入式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.h
EXEC 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 FOR
SELECT au_lname, au_fname
FROM 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);
}
else
break;
/* 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文件加
您可能关注的文档
- 手术室操作规范.doc
- 手术室的器械.ppt
- 手写体扫描后转成cad格式.docx
- 手诊第六节半月痕知健康.pptx
- 手指游戏童谣.docx
- 首尾绳悬挂装置分类及参数.docx
- 寿险意义与功用新版(1课时).ppt
- 受力(定义-受力环节-一般顺序).ppt
- 授权签字人考核题.docx
- 授权签字人考核问题.doc
- 主题课程整理大班上.doc
- 2026人教版小学语文三年级上册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学语文四年级下册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学二年级上册数学期末综合试卷精选3套(含答案解析).docx
- 2026人教版小学语文四年级上册期末综合试卷3套(含答案解析).docx
- 2026人教版小学二年级下册数学期末综合试卷3套(打印版含答案解析).docx
- 2026年地理信息行业年终总结汇报PPT.pptx
- 板块四第二十一单元封建时代的欧洲和亚洲 中考历史一轮复习.pptx
- 中考历史一轮复习:板块四第二十单元古代亚、非、欧文明+课件.pptx
- 第二次工业革命和近代科学文化中考历史一轮复习.pptx
原创力文档


文档评论(0)