您的位置:首页 > 编程语言 > C语言/C++

VC++ 使用msado15.dll ADO数据库控件

2014-04-09 17:41 274 查看
在StdAfx.h中加入如下语句:(调用ADO控件)

#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")

-----------------------------------------------------

初始化数据库:*

::CoInitialize(NULL);

try{



m_pConnection.CreateInstance("ADODB.Connection");//创建一ADODB的连接

_bstr_t str=m_sqlstr;//数据库连接字符串

m_pConnection->ConnectionTimeout=5; //响应时间

m_pConnection->Open(str,"","",adModeUnknown);//打开ADO

m_pConnection->Close();



}

catch(_com_error e)

{

AfxMessageBox("连接数据库出错!");



}

----------------------------------------------------------

数据库操作举例: m_pConnection _RecordsetPtr类的使用

void CCjtj::Cxsjk(CString s0, CString s1, CString s2, CString s3)

{

CString s; long i; char c[10];

memset(c,0,10);

m_pConnection.CreateInstance("ADODB.Connection");

_bstr_t str="Provider=SQLOLEDB;Server=CB;Database=VSAT;uid=sa;pwd=sasa;";  //联接SQL数据库字符串的值

m_pConnection->ConnectionTimeout=20;    //响应时间

m_pConnection->Open(str,"","",adModeUnknown); //打开

_RecordsetPtr m_pRecordset; //创建记录指针

_variant_t RecordsAffected;





s="SELECT COUNT(*) FROM "+s3; //s3为数据库表名

m_pRecordset =m_pConnection->Execute((_bstr_t) s,&RecordsAffected,adCmdText);

_variant_t vIndex = (long)0;

_variant_t vCount = m_pRecordset->GetCollect(vIndex);

i=vCount.lVal; //获得记录的值



m_text="'"+m_rwzl+"':共计:"+ltoa(i,c,10)+"条。"; //将记录值i转换成字符串并显示



m_jg=m_jg+m_text+"\r\n";              //并显示

textline++; //累计行

UpdateData(false); //刷新

m_jgc.LineScroll(textline,0); //滚动



m_pRecordset->Close();     //关闭数据库

m_pConnection->Close();

}

--------------------------------------------------------

以上再配合MS ADO CONTROL控件,就可以很好地操作数据库. 注*可以用于判断数据库是否正常
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: