欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    数据库实验-通过嵌入式SQL访问数据库.docx

    • 资源ID:1114509       资源大小:162.92KB        全文页数:7页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库实验-通过嵌入式SQL访问数据库.docx

    数据库原理课程实验报告1 .实验题目:实验五通过嵌入式SQL访问数据库2 .实验目的熟悉通过嵌入式SQL(主语言C语言)编程访问数据库3实验平台2.1 操作系统:Windows2000或者WindowsXP注:使用ProfeSSiOnal版的操作系统建议安装数据库管理系统的教学版,SerVer版的操作系统建议安装数据库管理系统的企业版。2.2 数据库管理系统:SQLServer2000数据库管理系统4实验内容及要求内容:熟悉RDBMS的预编译程序。掌握SQLSerVer2000的预编译程序NSQLPREPEXE的使用(以课本例题1进行调试)。要求:在本报告中列出程序代码及注释,保证程序能正确编译运行。5.实验内容与完成情况:嵌入式SQL的C语言应用程序在VC+6.0.SQLServer2000环境下的调试可分为五步:第一步环境初始化;第二步预编译;第三步编译;第四步连接;第五步运行。1、环境初始化(1)将文件夹devtools复制到SQLServer的系统目录C:ProgramFilesVMicrosoftSQLServer(或在安装MicrosoftSQLServer2000时选择安装DevelopmentTools,为使用嵌入式SQL语言准备必要的头文件和库文件。)(2)初始化VisualC+÷6.0编译器环境。在命令行方式下运行文件'MicrosoftVisualStudioWC98Binvcvars32.bat。运彳亍文件'MicrosoftVisualStudioWC98Binvcvars32.bato本人直接是由附件里的运行程序直接运行曰Windows将根据您所城入的名称,为您打开相应的程序、文件夹、文档或Internet资源.打开(O):F:VC98BinVCVARS32.BAT曾使用管理权限创建此任务.确定取消浏览(3)初始化SQLServer的预编译环境。在命令行方式下运行文件:C:ProgramFilesXMicrosoftSQLServerDEVTOOLSSAMPLESESQLCsetenv.bato本人直接是由附件里的运行程序直接运行(4)VC+6.0环境配置。具体配置分为如下三步:单击菜单中TOOIS(工具)->options(选择),directories(目录),IncludeFiles:添加C:ProgramFilesMicrosoftSQLServerdevtoolsincludeo将SQLserver自带的用于数据库开发的头文件包含到工程环境中。TOOIS(工具>>options(选择)->directories(目录)->LibFiles:添加C:ProgramFilesVMicrosoftSQLServerdevtlsx861ibo将开发用到的包包含到工程中。编辑器制表符I调试兼容性I编译目录I工作区宏I数.E平台(H目录但1:IWin32ILibraryfiles路径回:WrX>3F:WC981UBEVC98tMFCUJBPRoGRAMFILESWICROSoFTSQLSERVERIDEVTooLSX86UB确定取消PrOjeCt(工程),Settings(设置>Link->Object(对象)/LibraryModules(库模块),添加库文件:SQLakW32.1ib,Caw32.1ib。这两个文件之间用空格分开。注意:在VC+6.0中要先创立一个"WIN32ConsoleApplication"6Proiect,才可以做该设置。ProjectSettings设置区):IWin32DebUg:|SPch2常授I调试Cc÷÷连接资源浏览信息I匚因分类:常短J剧新(B)幡出文件名:Debugch2.e×e对象/库模块:kernel32.libuser32.libRW嗝制MlH!BffUIIJQdi32.libVQ产生调试信息忽略全部默认库W增加链接厂产生MAP文件允许配置文件工程选项9):kernel32.libuser32.libSQLakw32.libCaw32.libgdi32.libwinspool.libcomdlg32.libadvapi32.libshell32.libole32.liboleaut32.libuuid.libodbc32.lib一确定I取消2、预编译1)复制ESQL预编译文件及库文件C语言编译程序不能识别应用程序中的SQL语句,需要经过预处理程序将其转换成C语句。SQLServer的预处理程序是nsqlprep.exeonsqlprep.exe在SQLServer安装日录的MSSQLVBinn下。假设SQLSerVer数据库采用的是默任安装方式,那么需要把nsqlprep.exe、SQLAIW32.DLL.SQLAKW32.DLL个文件拷贝到MSSQLBirm目录下。2)将动态链接库SQLAKW32.dll,SQLAIW32.dll文件拷贝到操作系统目录下的子目录C:WINDOWSsystem32中。3)创立嵌入式SQL的C源文件ESqLC#include<stdio.h>#include<stdlib.h>EXECSQLBEGINDECLARESECTION;*主变量说明开始*/chardeptname22;charHSno10;charHSname22;charHSsex4;intHSage;intNEWAGE;longSQLCODE;EXECSQLENDDECLARESECTION;*主变量说明结束*/EXEC SQL INCLUDE sqlca;*定义SQL通信区*/*/int main(void)*C语言主程序开始刃intcount=O;charyn;*变量yn代表yes或no*/printf("Pleasechoosethedepartmentname(CSMAIS):");scanf("%s'r,deptname);*为主变量deptname赋值*/EXECSQLCONNECTTOStudent;*连接数据库STUDENTDb*/EXECSQLDECLARESXCURSORFOR*定义游标*/SELECTSno,Sname,Ssex,Sage*SX对应语句的执行结果*/FROMStudentWHERESDept=:deptname;EXECSQLOPENSX;*翻开游标SX便指向查询结果的第一行*/for(;)/*用循环结构逐条处理结果集中的记录*/(EXECSQLFETCHSXINTO:HSno,:HSname,:HSSeX,:HSage;/*推进游标,将当前数据放入主变量*/if(sqlca->sqlcode!=O)*sqlcode!=0,表示操作不成功*/printf("数据处理结束!");break;/*利用SQLCA中的状态信息决定何时退出循环*/if(count+=0)/*如果是第一行的话,先打出行头*/printf("n%-10s%-22s%-4s%-10sn",',Sno",',Sname","Ssex,',Sage);printf("%-10s%-22s%-4s%-10dn'HSno,HSname,HSsex,HSage);/*打印查询结果*/printf("UPDATEAGE(yn)?*');/*询问用户是否要更新该学生的年龄*/doscanf("%c',<feyn);while(yn!=N&&yn!='n'&&yn!='Y'&&yn!='y');if(yn=,y'yn='Y,)/*如果选择更新操作*/printf("INPUTNEWAGE:”);scanf("%d1,NEWAGE);/*用户输入新年龄到主变量中EXECSQLUPDATEStudent/*嵌入式SQL*/SETSage=:NEWAGEWHERECURRENTOFSX;)*对当前游标指向的学生年龄进行更新*/EXECSQLCLOSESX;/*关闭游标SX不再和查询结果对应*/EXECSQLCOMMITWORK;/*提交更新*/EXECSQLDISCONNECTTEST;/*断开数据库连接*/14)关闭C源文件MyESqlc,并将其备份,然后更改源文件的扩展名为“.sqc”。5)在命令行下运行ESQL预编译程序nsqlprep.exe程序:nsqlprepMyEsql.sqc假设运行成功,那么生成MyESqI.c,将该文件添加到VC工程中编译即可。管理员:命令提示符版权所有c2009MicrosoftCOrPoFationO保留所有权利O"Useps诫浅有所思cd.C:MJsers>cd.C:>cdprogram£ilesC:ProgranFiles>cdnicrosoftSqlserverIC:ProgramFilesXMicrosoftSQLSe*Me*>cd mssqlC:XProgranFilesMIicrosoftSQLServerXSSQL>cd binnC: Program yEsql.sqc Microsoft ICoPyIkight FilesXMicrosoftSQLSeruerMISSQLxBinn>nsqlprep D:09072106ESQLTest×J1<R><c>Embedded SQLforC Pre-Conpiler. Uersion 8.00.194.Microsoft Corp 1993-1998. All rights reserved.Microsoft CopyrightMyEsql.sqc<R><C>32-bitCC+OPtimiZingCompilerUersion12.00.8168for80x86MicrosoftCorp1984-1998.Allrightsreserved.|C:ProgramPileS5icrosoftSQLSerUer5SSQLBinn6)编译,连接与运行在VC+6.0中创立一个"WIN32ConsoleApplicationProiect,然后将预编译生成的c文件参加Proiect,编译连接即可生成访问SQLSerVer的可执行程序。*E:09072106ch5Debugch5.exe"Pleasechoosethedepartmentnane<CSMAIS>:ISSnoSnameSsexSage200215125张立男19UPDATEAGE<yn>7n200215126张家辉男20UPDATEAGE<yn>7yINPUTNEWAGE:n200215127李四男19UPDATEAGE<yn>?数据处理结束!Pressanykeytocontinue6 .出现的问题:实验上机前,因为个人电脑安装C+在D盘,所以实验初始化ViSUalC+6.0编译器环境以及初始化SQLServer的预编译环境时,利用附件里的运行程序直接浏览编译再运行文件。在联系到数据库时需要建立一个数据库名首字母不为数字的标示符,以便运行。在实验上机时不能运用附件的运行程序运行文件。故所有的运行程序必须在在命令行方式下运行。7 .解决方案列出遇到的问题和解决方法,列出没有解决的问题:机房上机实验如下所示:IC命令提示符<C>版权所有IicrosoftWindowsXP版本5i26001985-2001MicrosoftCorp.:DocunentsandSettingsUSER>cd.:DocumentsandSettings>cd.:>cdProgramFiles×J1icrosoftUisualStudioUC98Bin:ProgranFilesxllicrosoftUisualStudioUC98Bin>UCUARS32.BATGettingenvi*onnentforusingMicrosoftUisualC*tools.::ProgranFilesMIicrosoftUisualStudioUC98Bin>cd:>cd Program FilessJIicrosoftSQL ServerDEUTOOLSSAMPLESESQLC:Progran Files Microsoft SQLServerXDEUTOOLSxSfiMPLESESQLC>seten.bat:Progran FilesXMicrosoft SQLServerXDEUTOOLSSAMPLESESQLC>cd :>cd Program FilesMIicrosoftSQL ServerMSSQLBinnD:Progvan FilesXMicrosoft SQLEsql.sqc Microsoft Copprigbt<R><c>Enbedded SQL forSerMerMISSQLXBinn >nsqlprep E: 09072i06数据库ch5、C Pre-Compiler. Uersion 8.00.194.Microsoft Corp 1993-1998. All rights reserved.IicrosoftQpyright<R><C>32-bitCC+OPtimiNingConpilerUersion12.00.8168for80x86MicrosoftCorp1984-1998.Allrightsreserved.sql.sqc.Prog»、amFiIeS5icrosoFtSQLSe*ue*MSSQLBinn>运行结果如卜.所示:Cr'E:09072106数据库ch5_2Debugch5_2.exe*Pleasechoosethedepartmentnae<CSMAIS>:ISSnoSnaneSsexSage200215125张立男19UPDATEAGE<yn>?N200215126张家辉男20UPDATEfiGE<yn>7VINPUTNEWAGE:N数据处理结束IPressanykeytocontinue8 .实验小结

    注意事项

    本文(数据库实验-通过嵌入式SQL访问数据库.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开