实现C语言嵌入SQL程序环境配置
实现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
#include
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
WHE