• 大小: 78KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: C/C++
  • 标签: vs2008  mfc  ADO  SQL2008  

资源简介

在OnInitDialog()中实现代码,演示了如何VS2008的MFC程序通过ADO连接到SQL SERVER2008上,并且进行插入操作

资源截图

代码片段和文件信息

#include “StdAfx.h“
#include “ADOConn.h“

ADOConn::ADOConn(void)
{
}

ADOConn::~ADOConn(void)
{
}
// 初始化—连接数据库
void ADOConn::OnInitADOConn()
{
// 初始化OLE/COM库环境
::CoInitialize(NULL);
try
{
// 创建Connection对象
m_pConnection.CreateInstance(“ADODB.Connection“);
// 设置连接字符串,必须是BSTR型或者_bstr_t类型
_bstr_t strConnect = “Provider=SQLOLEDB; Server=.;Database=Student; uid=sa; pwd=admin;“;
m_pConnection->Open(strConnect““““adModeUnknown);
}
// 捕捉异常
catch(_com_error e)
{
// 显示错误信息
AfxMessageBox(e.Description());
}
}

_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)
{
try
{
//连接数据库,如果connection为空则重新连接
if(m_pConnection==NULL)
OnInitADOConn();
//创建记录集对象
m_pRecordset.CreateInstance(__uuidof(Recordset));
//取得表中的记录
m_pRecordset->Open(bstrSQLm_pConnection.GetInterfacePtr()
adOpenDynamicadLockOptimisticadCmdText);
}
catch(_com_error e)
{
e.Description();
}
//返回记录集
return m_pRecordset;
}



// 执行SQL语句,Insert Update _variant_t
BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)
{
// _variant_t RecordsAffected;
try
{
// 是否已经连接数据库
if(m_pConnection == NULL)
OnInitADOConn();
// Connection对象的Execute方法:(_bstr_t CommandText
// VARIANT * RecordsAffected long Options )
// 其中CommandText是命令字串,通常是SQL命令。
// 参数RecordsAffected是操作完成后所影响的行数
// 参数Options表示CommandText的类型:adCmdText-文本命令;adCmdTable-表名
// adCmdProc-存储过程;adCmdUnknown-未知
m_pConnection->Execute(bstrSQLNULLadCmdText);
return true;
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return false;
}
}
void ADOConn::ExitConnect()
{
// 关闭记录集和连接
if (m_pRecordset != NULL)
m_pRecordset->Close();
m_pConnection->Close();
// 释放环境
::CoUninitialize();
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-09-08 11:32  ADOTEST\
     目录           0  2016-09-08 11:32  ADOTEST\ADOTEST\
     文件        1930  2014-06-04 23:36  ADOTEST\ADOTEST\ADOConn.cpp
     文件         450  2014-06-04 10:44  ADOTEST\ADOTEST\ADOConn.h
     文件       42616  2014-06-04 10:37  ADOTEST\ADOTEST\ADOTEST.APS
     文件        1660  2014-06-04 10:37  ADOTEST\ADOTEST\ADOTEST.cpp
     文件         447  2014-06-04 10:37  ADOTEST\ADOTEST\ADOTEST.h
     文件        4830  2014-06-04 10:37  ADOTEST\ADOTEST\ADOTEST.rc
     文件        5541  2014-06-04 11:14  ADOTEST\ADOTEST\ADOTEST.vcproj
     文件        1417  2014-06-04 23:40  ADOTEST\ADOTEST\ADOTEST.vcproj.seamanj-PC.seamanj.user
     文件        3123  2014-06-04 11:25  ADOTEST\ADOTEST\ADOTESTDlg.cpp
     文件         563  2014-06-04 10:37  ADOTEST\ADOTEST\ADOTESTDlg.h
     文件        2891  2014-06-04 10:37  ADOTEST\ADOTEST\ReadMe.txt
     目录           0  2014-06-04 10:37  ADOTEST\ADOTEST\res\
     文件       21630  2003-07-24 09:52  ADOTEST\ADOTEST\res\ADOTEST.ico
     文件         363  2014-06-04 10:37  ADOTEST\ADOTEST\res\ADOTEST.rc2
     文件         520  2014-06-04 10:37  ADOTEST\ADOTEST\Resource.h
     文件         138  2014-06-04 10:37  ADOTEST\ADOTEST\stdafx.cpp
     文件        1894  2014-06-04 10:50  ADOTEST\ADOTEST\stdafx.h
     文件        1030  2014-06-04 10:37  ADOTEST\ADOTEST\targetver.h
     文件         887  2014-06-04 12:01  ADOTEST\ADOTEST.sln
     文件       17408  2014-06-04 23:40  ADOTEST\ADOTEST.suo
     目录           0  2016-09-08 11:32  ADOTEST\Debug\
     文件       75264  2014-06-04 11:31  ADOTEST\Debug\ADOTEST.exe

评论

共有 条评论