网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

ADO调用SQL

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
MFC中用ado访问SQLServer2005数据库
    今天老大交代项目,需要MFC访问另一台机器上的SQLServer2005数据库。MFC我不熟,SQL也从没用过。在网上查了不少资料,忙了一阵终于搞通了。与各位朋友分享一下,高手们就不用看了,这是写给像我一样初学者的。
    一、安装SQLSERVER2005,在本机建立服务器默认安装即可,也可以自己另起名字,安装时可以选择身份验证方式,有“SQLSERVER身份验证”与“windows身份验证”两种方式。我安装时默认“windows身份验证”,安装完毕建立数据库后改为“SQLSERVER身份验证”。
    二、安装MicrosoftSQLServerManagementStudioExpress,一路默认即可。
    三、我们先在本机建立个数据库,成功访问后再访问访问网络上别人的数据库。
    1.打开MicrosoftSQLServerManagementStudioExpress。比如我的机器名是wulong,那么显示为wulong\SQLEXPRESS直接点“连接”。
    
    
    
    2.登陆后鼠标右键点击数据库——》新建数据库,命名为haitest点击确定。
    3.建立数据库成功后,展开haitest鼠标右键点“表”——》“新建表”输入你定义的标题,比如“名字”“编号”“年龄”“性别”。命名为haiTble
    
    4.
    5.建立表成功后,在目录“数据库”——》“haitest”——》“表”可以看到你刚建立的表dbo.haiTable,鼠标右键打开表输入内容。
    6.保存,你的表做好了。
    
    
    四、数据库建立好了,下面我们写程序访问你的数据库中的表haiTable:
    1.MFC建立个对话框工程。
    2.在工程的stdafx.h文件中添加ADO的链接库
    #import"C:\ProgramFiles\CommonFiles\System\ado\msado15.dll"no_namespacerename("EOF","adoEOF")rename("BOF","adoBOF")
    3.ado操作数据库需要三个句柄,ConnectionPtr用于连接数据库用,RecordsetPtr用于访问表中记录用。有这两个句柄就可以修改数据库记录了,还有个命令句柄,我们这里不介绍了。在你的程序中定义两个句柄。
    //ChaiwindowDlg对话框
    classChaiwindowDlg:publicCDialog
    {
    …………………………….
    //---------------------定义访问数据库的句柄
    _ConnectionPtrm_pConnection;
    _RecordsetPtrm_pRecordset;
    //-----------------------------定义句柄完成
    }
    
    4.对话框初始化中添加ADO的初始化,打开数据库。
    BOOLChaiwindowDlg::OnInitDialog()
    {
    …………………………
    //------------------添加的初始化代码
    if(!AfxOleInit())//这就是初始化COM库
    {
    AfxMessageBox("KE初始化出错!");
    }
    
    try
    {
    m_pConnection.CreateInstance(__uuidof(Connection));
    m_pConnection->Open((_bstr_t)"Driver={SQLServer};Server=192.168.1.214\\SQLEXPRESS;Database=haitest","","",adModeUnknown);
    //或者写成
    //m_pConnection->Open((_bstr_t)"Driver={SQLServer};Server=wulong\\SQLEXPRESS;Database=haitest","","",adModeUnknown);
    
    //m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Demo.mdb","","",adModeUnknown);
    }
    catch(_com_errore)
    {
    AfxMessageBox(e.Description());
    }
    //----------------------添加初始化代码结束
    ………………………….
    }
    
    注意wulong\\SQLEXPRESS是双斜线啊,写错了就会返回[Microsoft][ODBCSQLServerDriver][DBNETLIB]SQLServer不存在或访问被拒绝。
    
    5.下面打开表我们刚建立的表名字是haiTable:
    try
    {
    m_pRecordset.CreateInstance(__uuidof(Recordset));
    m_pRecordset->Open("SELECT*FROMhaiTable",//查询DemoTable表中所有字段
    m_pConnection.GetInterfacePtr(),//获取库接库的IDispatch指针
    adOpenDynamic,
    adLockOptimistic,
    adCmdText);
    }
    catch(_com_errore)
    {
    AfxMessageBox(e.Description());
    }
    
    6.下面表里追加记录:
    try
    {
    //写入各字段值
    m_pRecordset->AddNew();
    m_pRecordset->PutCollect("朋友的名字",_variant_t("希特勒"));
    m_pRecordset->PutCollect("朋友的编号",_variant_t("9527"));
    m_pRecordset->PutCollect("朋友的性别",_variant_t("人妖"));
    m_pRecordset->Update();
    }
    catch(_com_error*e)
    {
    AfxMessageBox(e->ErrorMessage());
    return;
    }
    7.关掉MicrosoftSQLServerManagementStudioExpress后再打开haiTable表你看到增添了一条记录。
    8.退出程序时别忘了关闭ADO:
    if(m_pRecordset!=NULL)
    {
    m_pRecordset->Close();
    }
    
    m_pConnection->Close();
    
    五、用sa或其他用户名登陆,比如登陆名sa密码123456访问192.168.1.35的服务器:
    只需把前面第4步打开数据库中
    m_pConnection->Open((_bstr_t)"Driver={SQLServer};Server=192.168.1.214\\SQLEXPRESS;Database=haitest","","",adModeUnknown);改为
    m_pConnection->Open((_bstr_t)"Driver={SQLServer};Server=192.168.1.35;Database=haitest;UID=sa;PWD=123456","","",adModeUnknown);
    六、结束语:
    就这么多了,大家有问题可以给我留言。在我能力范围内愿意为您服务。希望大家共同进步。
    
  • 上一篇资讯: C#之SQL(1)
  • 下一篇资讯: 50sql
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师