- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实现C语言嵌入式SQL程序的环境配置
嵌入SQL的C应用程序VC++6.0、SQL Server 2000环境下调试可分为五步:环境初始化;预编译;编译;连接;运行。
1、环境初始化
??????? (1) 文件夹devtoolsSQL Server的系统目录C:\Program Files\Microsoft SQL Server(或 在安装Microsoft SQL Server 2000时选择安装Development Tools,为使用嵌入式SQL语言准备必要的头文件和库文件。)
?????? (2)初始化Visual C++ 6.0编译器环境。在命令行方式下运行文件\Microsoft Visual Studio\VC98\Bin\vcvars32.bat。?????? (3)初始化SQL Server的预编译环境。在命令行方式下运行文件: C:\Program Files\Microsoft SQL Server\DEVTOOLS\SAMPLES\ESQLC。?????? ( 4) VC++6.0环境配置。具体配置分为如下三步:
?????????? Tools(工具)-options(选择)-directories(目录)-Include Files:添加 C:\Program Files\Microsoft SQL Server\devtools\include。将SQL server自带的用于数据库开发的头文件包含到工程环境中。????????? ②Tools(工具)-options(选择)-directories(目录)-Lib Files:添加C:\Program Files\Microsoft SQL Server\devtools\x861ib。将开发用到的包包含到工程中。
?????????? project(工程)-Settings(设置)-Link-Object(对象)/Library Modules(库模块),添加库文件:SQLakw32.lib, Caw32.lib。这两个文件之间用空格分开。 在VC++6.0中创建一个 WIN32 Console Application的Proiect2、预编译
C语言编译程序不能识别应用程序中的SQL语句,需要经过预处理程序将其转换成C语句。SQL Server的预处理程序是nsqlprep.exe。 nsqlprep.exe在SQL Server安装日录的MSSQL\Binn下。若SQL Server数据库采用的是默任安装方式,则需要把nsqlprep.exeSQLAIW32.DLL、SQLAKW32.DLL三个文件拷贝到MSSQL\Binn目录下。 将动态链接库SQL32.dll,.dll文件拷贝到操作系统目录下的子目录C:\WINDOWS\system32中创建嵌入式SQL的C源文件Esql.c
#include stdio.h
#include stdlib.h
EXEC SQL BEGIN DECLARE SECTION; /**/
char deptname[22];
char HSno[10];
char HSname[22];
char HSsex[4];
int HSage;
int NEWAGE;
long SQLCODE;
EXEC SQL END DECLARE SECTION; /*主变量说明结束*/
EXEC SQL INCLUDE sqlca; /*定义SQL通信区*/
/*************************************************************************/
int main(void) /*C语言主程序开始*/
{
int count = 0;
char yn; /*变量yn代表yes或no*/
printf(Please choose the department name(CS/MA/IS): );
scanf(%s, deptname); /*为主变量deptname赋值*/
EXEC SQL CONNECT TO CMCME3-126-2.StudentDb; /*连接数据库STUDENTDb*/
EXEC SQL DECLARE SX CURSOR FOR /*定义游标*/
SELECT Sno, Sname, Ssex, Sage /*SX对应语句的执行结果*/
FROM Student
WHERE SDept = :deptnam
文档评论(0)