VC++ 使用msado15.dll ADO数据库控件
在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控件,就可以很好地操作数据库. 注*可以用于判断数据库是否正常
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。