山寨:不是最好的,是最适合我们的!欢迎体验山寨 中文版MSDN

Blog @ Blog

当华美的叶片落尽,生命的脉络才历历可见。 -- 聂鲁达

常用链接

统计

积分与排名

BBS

Blog

Web

最新评论

vc通过ADO连接sql server 2000的核心代码

建立一个mfc对话框工程,一切都默认然后完成,接下照我的方法做吧,一定可以的!

注:
*****代表你所建立的工程名称

先在stdafx.h中导入#import 
"c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
加入头文件
#include 
"icrsint.h"
#include 
"adoid.h"
然后进行下面的书写,必须要初始化COM 即::CoInitialize(NULL); 
还要加入成员变量
_RecordsetPtr pRec;
_ConnectionPtr pCon;

//==========                   ============//

BOOL C
*****App::InitInstance()
{
if (!AfxSocketInit())
{
    AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
    
return FALSE;
}


AfxEnableControlContainer();
    

CString str;
::CoInitialize(NULL);    
//初始化com 必须为NULL
str.Format("Provider=sqloledb;Network Library=DBMSSOCN;Initial Catalog=Test;User ID=sa;Password=1234;Data Source=192.168.0.20,1433");

pCon.CreateInstance(__uuidof(Connection));
try{
    pCon
->Open(_bstr_t(str),"","",adModeUnknown);

}

catch(_com_error e)
{
    MessageBox(NULL,
"连接数据库失败!","警告",MB_OK|MB_ICONHAND);
    
return FALSE;
}

}


//==========                   ============//
在C****App中添加执行sql语句的方法
bool C*****App::OpenSQL(CString &strRec)
{
pRec.CreateInstance(__uuidof(Recordset));

if ( pRec->State )// 如果记录集打开的话,把它关了
    pRec->Close();

try{// 正常的SQL语句
    pRec->Open(_variant_t(strRec),pCon.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
    
return true;
}

catch(_com_error e)
{
    MessageBox(NULL,
"连接表出错!","警告",MB_OK|MB_ICONHAND);
    
return false;
}

}

在退出的时候关闭数据库连接

//==========                   ============//
//==========小狮子落落============//
int C****App::ExitInstance() 
{
try
{          // 关闭数据库
if ( pCon->State )
    pCon
->Close();
    pCon.Release();
}

catch(_com_error e)
{
}

::CoUninitialize();    

return CWinApp::ExitInstance();
}




posted on 2008-06-18 10:43 isabc 阅读(4553) 评论(2)  编辑 收藏 引用 所属分类: 数据库

评论

# re: vc通过ADO连接sql server 2000的核心代码 2009-09-23 20:39 胡凯

大侠,能写得再详细点吗,哪些语句该加在哪?我是初学者,谢谢  回复  更多评论   

# re: vc通过ADO连接sql server 2000的核心代码 2014-01-29 23:46 大了

不错,可以连接远程的Sql server2000服务器  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


广告信息(免费广告联系)

中文版MSDN:
欢迎体验