// 初始化—连接数据库
void ADOConn::OnInitADOConn()
{
// 初始化OLE/COM库环境
::CoInitialize(NULL);
HRESULT hr;
try
{
hr=m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
m_pConnection->ConnectionTimeout=3;///设置超时时间为3秒
hr=m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb;","","",adModeUnknown);
if(SUCCEEDED(hr))
{
printf("Connecting the DataBase SUCCSSED!");
}
}
}
// 捕捉异常
catch(_com_error e)
{
// 显示错误信息
printf("初始化—连接数据库%s/n",(LPTSTR)e.Description());
}
}// 执行查询_RecordsetPtr&
void ADOConn::GetRecordSet(_bstr_t bstrSQL)
{
try
{
// 连接数据库,如果Connection对象为空,则重新连接数据库
if(m_pConnection==NULL)
OnInitADOConn();
// 创建记录集对象
m_pRecordset.CreateInstance(__uuidof(Recordset));
// 取得表中的记录
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
// 捕捉异常
catch(_com_error e)
{
printf("执行查询%s/n",(LPTSTR)e.Description());
}
if(m_pRecordset->adoBOF||m_pRecordset->adoEOF)
printf("无数据");
// 返回记录集
// return m_pRecordset;
}
void find()
{
//bool flag=false;
//HRESULT hr;
//CString strSQL="SELECT * FROM convert";
_RecordsetPtr pRecordset; ADOConn adoconn;
//CString str="SELECT * FROM convert";
// _bstr_t bstrSQL=(LPCTSTR)str;
_bstr_t bstrSQL;
bstrSQL="SELECT * FROM Convert";
adoconn.GetRecordSet(bstrSQL);
if(pRecordset->adoBOF||pRecordset->adoEOF)
{
printf("读取错误!");
}} m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);运行到这句时候老是出问题First-chance exception in talkback.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.,请高手解决,万分的感谢!!
void ADOConn::OnInitADOConn()
{
// 初始化OLE/COM库环境
::CoInitialize(NULL);
HRESULT hr;
try
{
hr=m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
m_pConnection->ConnectionTimeout=3;///设置超时时间为3秒
hr=m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb;","","",adModeUnknown);
if(SUCCEEDED(hr))
{
printf("Connecting the DataBase SUCCSSED!");
}
}
}
// 捕捉异常
catch(_com_error e)
{
// 显示错误信息
printf("初始化—连接数据库%s/n",(LPTSTR)e.Description());
}
}// 执行查询_RecordsetPtr&
void ADOConn::GetRecordSet(_bstr_t bstrSQL)
{
try
{
// 连接数据库,如果Connection对象为空,则重新连接数据库
if(m_pConnection==NULL)
OnInitADOConn();
// 创建记录集对象
m_pRecordset.CreateInstance(__uuidof(Recordset));
// 取得表中的记录
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
// 捕捉异常
catch(_com_error e)
{
printf("执行查询%s/n",(LPTSTR)e.Description());
}
if(m_pRecordset->adoBOF||m_pRecordset->adoEOF)
printf("无数据");
// 返回记录集
// return m_pRecordset;
}
void find()
{
//bool flag=false;
//HRESULT hr;
//CString strSQL="SELECT * FROM convert";
_RecordsetPtr pRecordset; ADOConn adoconn;
//CString str="SELECT * FROM convert";
// _bstr_t bstrSQL=(LPCTSTR)str;
_bstr_t bstrSQL;
bstrSQL="SELECT * FROM Convert";
adoconn.GetRecordSet(bstrSQL);
if(pRecordset->adoBOF||pRecordset->adoEOF)
{
printf("读取错误!");
}} m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);运行到这句时候老是出问题First-chance exception in talkback.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.,请高手解决,万分的感谢!!
解决方案 »
- sqlserver连接不上
- 以下语句没看出啥区别,为何执行结果不一样?
- 数据库查询时怎么按照多个字段进行排序
- windows2003+sqlserver2000,客户端VB5程序不能访问
- 寻找一个数据库系统
- sql2005数据库还原报错,请专家解答,谢谢~
- SQL*Loader的dos是什么?(946)
- 关于uniqueidentifier 数据类型
- ★DB Driver 大比拼★
- 哪位有SQL Expert For MS SQL Server的序列号,要正式版的号,评估版的我有,多谢了
- 不能将值 NULL 插入列 'Id',表 'guahao.dbo.Detail';列不允许有空值。INSERT 失败。
- 安装数据库关系图时失败 "列名'uvalue'无效"
--访问本地MDB的ADO连接串:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Test.MDB;User ID=admin;Password=;Jet OLEDB:Database Password=000其中第一个password为Access的用户admin的密码,第二个为Access数据库的密码
如果未设置数据库密码,可省略此项。
--ADO连接串(访问网络MDB):Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\服务器名或IP\共享目录\Test.MDB;User ID=admin;Password=;Jet OLEDB:Database Password=;其中第一个password为Access的用户admin的密码,第二个为Access数据库的密码
如果未设置密码,可省略相关项。