在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控件,就可以很好地操作数据库. 注*可以用于判断数据库是否正常
相关文章
- 11-14使用ADO.NET访问数据库
- 11-14VC++ ADO SQL数据库连接
- 11-14ADO.NET之4-使用SqlCommand对象向数据库添加记录---ShinePans
- 11-14ADO.NET之7-使用Command对象查找数据库记录---ShinePans
- 11-14ADO.NET之6-使用Command修改数据库中的数据---ShinePans
- 11-14FineUI之使用SQL脚本从数据库表中生成相应的输入控件
- 11-14VC++ 通过ADO连接数据库查询时返回空值报错的解决方案
- 11-14使用ADO如何获得SQLSERVER 2K的数据库名的列表
- 11-14VC++ 使用msado15.dll ADO数据库控件
- 11-14VC++中使用ADO方式操作ACCESS数据库