资源描述:
《嵌入式SQL 编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、嵌入式SQL编程内容:掌握SQLServer2000的预编译程序NSQLPREP.EXE的使用;步骤:一、数据库环境配置1、创建stu数据库,建立student表等;2、关闭sqlserver2000服务管理器;3、将devtools文件夹拷贝到:C:ProgramFilesMicrosoftSQLServer4、将Binn文件夹拷贝到:C:ProgramFilesMicrosoftSQLServerMSSQL5、启动服务器;二、VC++6.0编辑器配置(初始化Vc++环境)1.工具—>选择—>目录—>IncludeFiles添加:C
2、:ProgramFilesMicrosoftSQLServerdevtoolsinclude并设为第一项2.选择LibraryFiles添加:C:ProgramFilesMicrosoftSQLServerdevtoolsx86lib并设为第一项三、写程序,预编译,最后在VC++中编译、执行1、编辑EXEC.sqc文件,保存到:C:ProgramFilesMicrosoftSQLServerMSSQLBinn目录EXEC.sqc文件如下://EXEC.cpp:Definestheentrypointfortheconso
3、leapplication.//#include#includeEXECSQLBEGINDECLARESECTION;/*主变量说明开始*/chardeptname[64];charHSno[64];charHSname[64];charHSsex[64];intHSage;intNEWAGE;longSQLCODE;EXECSQLENDDECLARESECTION;/*主变量说明结束*/EXECSQLINCLUDEsqlca;/*定义SQL通信区*//***************************
4、**********************************************/intmain(void)/*C语言主程序开始*/{intcount=0;charyn;/*变量yn代表yes或no*/printf("Pleasechoosethedepartmentname(CS/MA/IS):");scanf("%s",deptname);/*为主变量deptname赋值*/EXECSQLCONNECTTOstuUSERsa:123;/*连接数据库STU*/EXECSQLDECLARESXCURSORFOR/*定义游标*/SEL
5、ECTSno,Sname,Ssex,Sage/*SX对应语句的执行结果*/FROMStudentWHERESDept=:deptname;EXECSQLOPENSX;/*打开游标SX便指向查询结果的第一行*/for(;;)/*用循环结构逐条处理结果集中的记录*/{EXECSQLFETCHSXINTO:HSno,:HSname,:HSsex,:HSage;/*推进游标,将当前数据放入主变量*/if(sqlca->sqlcode!=0)/*sqlcode!=0,表示操作不成功*/break;/*利用SQLCA中的状态信息决定何时退出循环*/if(c
6、ount++==0)/*如果是第一行的话,先打出行头*/printf("%-10s%-20s%-10s%-10s","Sno","Sname","Ssex","Sage");printf("%-10s%-20s%-10s%-10d",HSno,HSname,HSsex,HSage);/*打印查询结果*/printf("UPDATEAGE(y/n)?");/*询问用户是否要更新该学生的年龄*/do{scanf("%c",&yn);}while(yn!='N'&&yn!='n'&&yn!='Y'&&yn!='y');if(yn=='y'
7、
8、
9、yn=='Y')/*如果选择更新操作*/{printf("INPUTNEWAGE:");scanf("%d",&NEWAGE);/*用户输入新年龄到主变量中*/EXECSQLUPDATEStudent/*嵌入式SQL*/SETSage=:NEWAGEWHERECURRENTOFSX;}/*对当前游标指向的学生年龄进行更新*/}EXECSQLCLOSESX;/*关闭游标SX不再和查询结果对应*/EXECSQLCOMMITWORK;/*提交更新*/EXECSQLDISCONNECTSTU;/*断开数据库连接*/}2、使用MS-DOS进行预编译:
10、1)进到Binn文件下:cdC:ProgramFilesMicrosoftSQLServerMSSQLBinn2)调用预编译程序nsqlpre