学籍管理系统,C++连接sql.doc

上传人:豆**** 文档编号:33552827 上传时间:2022-08-11 格式:DOC 页数:7 大小:58KB
返回 下载 相关 举报
学籍管理系统,C++连接sql.doc_第1页
第1页 / 共7页
学籍管理系统,C++连接sql.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《学籍管理系统,C++连接sql.doc》由会员分享,可在线阅读,更多相关《学籍管理系统,C++连接sql.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、如有侵权,请联系网站删除,仅供学习与交流学籍管理系统,C+连接sql【精品文档】第 7 页#include #include #include using std:string;using namespace std; C+连接SQL数据库第一步 系统配置 1.设置SQLSERVER服务器为SQL登录方式,并且系统安全性中的sa用户要设置登录功能为“启用”,还有必须要有密码。 2.需要在ODBC中进行数据源配置,数据源选”SQL SERVER”,登录方式使用“使用输入用户登录ID和密码的SQL SERVER验证”, 并填写登录名(sa)和密码,注意一点,密码不能为空,这就意味着你的sa用户必须

2、得有密码。否则无法通过系统本身的安全 策略。测试 通过就完成了配置。 C+连接SQL数据库第二步 C+与SQL连接初始化 1.在建立的C+项目中引入ADO 具体代码如下:#pragma warning(disable:4146)#pragma warning(disable:4786)#import c:Program FilesCommon FilesSystemadomsado15.dll no_namespace rename(EOF, adoEOF)/mainint main()system(COLOR A);BOOL FLAG = TRUE;int flag = 0;_Connect

3、ionPtr m_pConnection = NULL; /connection objects pointer _CommandPtr m_pCommand; /command objects pointer _ParameterPtr m_pParameter; /Parameter objects pointer _RecordsetPtr m_pRecordset; CoInitialize(NULL);/COM注册不可少int userright=0;/用户权限,1为管理员,2为教师char username12; 定义_ConnectionPtr变量后调用Connection对象的

4、Open方法建立与服务器的连接。 数据类型_ConnectionPtr实际上是由类模板_com_ptr_t得到的一个具体的实例类。_ConnectionPtr类封装了Connection对象的Idispatch接 口指针及其一些必要的操作。可以通过这个指针操纵Connection对象。/例如连接SQLServer数据库,代码如下:/连接到MS SQL Server /初始化指针 HRESULT hr = m_pConnection.CreateInstance(_uuidof(Connection); if (FAILED(hr) return 0; /初始化链接参数 _bstr_t strC

5、onnect = Driver=sql server;server=127.0.0.1;uid=sa;pwd=3738358261;database=student; /SQLSERVER /Database指你系统中的数据库名 /执行连接 try / Open方法连接字串必须四BSTR或者_bstr_t类型 m_pConnection-Open(strConnect, , , NULL); catch(_com_error &e) /MessageBox(e.Description(),警告, MB_OK|MB_ICONINFORMATION);coute.Description()endl

6、;/发生链接错误 C+连接SQL数据库第三步 简单的数据连接 /定义_RecordsetPtr变量,调用它Recordset对象的Open,即可打开一个数据集 /初始化过程 以下是个实例 /_RecordsetPtr pRecordset; / 登录int loginflag=1;while(loginflag)char password12;coutusername;coutpassword;char sqllogin100;sprintf(sqllogin,select * from tb_user where uname = %s and upwd = %s,username,passw

7、ord);m_pRecordset=m_pConnection-Execute(_bstr_t(sqllogin), NULL, adCmdText);if(!m_pRecordset-adoEOF)cout登录成功!;coutFields-GetItem(_variant_t(uright)-Value);if(1=1)cout管理员登录;userright=1;elsecout用户登录endl;userright=2;loginflag=0;elsecout登录失败,请重新登录!endl;system(cls);if(userright=1)cout登录状态:管理员endl;elsecou

8、t登录状态:用户endl;while(FLAG)coutendlendl;cout -endl - 学生学籍管理系统 -endl -endlendl -endl - 請根據以下數字選擇 -endl -endl - -endl - 1.輸出學生信息 -endl - -endl - 2.输入學生信息 -endl - -endl - 3.查询學生信息 -endl - -endl - 4.軟件幫助 -endl - -endl -endlendlflag;switch(flag)case 1:system(cls);/输出所有信息char sqlshows50=select * from tb_stud

9、ent;m_pRecordset=m_pConnection-Execute(_bstr_t(sqlshows), NULL, adCmdText);/将查询数据导入m_pRecordset数据容器 /至此 你的SQL语句已经执行完成了m_pRecordset内的数据就是你执行的结果。/取得记录:cout 学号 姓名 性别 班级 户籍 adoEOF)/遍历并读取name列的记录并输出 coutGetFields()-GetItem(学号)-Value ; coutGetFields()-GetItem(姓名)-Value ; coutGetFields()-GetItem(性别)-Value

10、; coutGetFields()-GetItem(班级)-Value ; coutGetFields()-GetItem(户籍)-ValueMoveNext();break;case 2:if(userright=1)system(cls);/s输入char name50;char sno12;char sex2;char address50;char sclass20;coutsno;coutname;coutsex;coutsclass;coutaddress;char strsql120;sprintf(strsql,insert into tb_student (学号,姓名,性别,班

11、级,户籍) values(%s,%s,%s,%s,%s),sno,name,sex,sclass,address);m_pRecordset=m_pConnection-Execute(_bstr_t(strsql),NULL,adCmdText);cout输入成功!endl;elsecout没权限!;break;case 3:/查询if(userright=1)system(cls);char sno12;coutsno;char strsql100;sprintf(strsql,select * from tb_student where 学号=%s,sno);m_pRecordset=m

12、_pConnection-Execute(_bstr_t(strsql),NULL,adCmdText);cout 学号 姓名 性别 班级 户籍 adoEOF)/遍历并读取每列的记录并输出 flag=1;coutGetFields()-GetItem(学号)-Value ; coutGetFields()-GetItem(姓名)-Value ; coutGetFields()-GetItem(性别)-Value ; coutGetFields()-GetItem(班级)-Value ; coutGetFields()-GetItem(户籍)-ValueMoveNext();if(flag=0)

13、cout不存在此学号!endl;elsecout没权限;break;case 4:/删除if(userright=1)system(cls);char sno12;coutsno;char strsql100;sprintf(strsql,select * from tb_student where 学号=%s,sno);m_pRecordset=m_pConnection-Execute(_bstr_t(strsql),NULL,adCmdText);int flag=0;if(!m_pRecordset-adoEOF)/判断是否存在此学号 sprintf(strsql,delete tb_student where 学号=%s,sno);m_pRecordset=m_pConnection-Execute(_bstr_t(strsql),NULL,adCmdText);cout删除成功!endl;elsecout不存在此学号!endl;elsecout没权限;break;case 0:exit(0);break;default:cout选择错误 ,重试!endl;break;CoUninitialize( );return 1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 家庭教育

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁