#import "C:\Program Files\Common Files\System\ado\msado20.tlb" ////////////连接数据库//////////////
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=table.mdb","","",adModeUnknown);///连接数据库
///上面一句中连接字串中的Provider是针对ACCESS2000环境的 }
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
return FALSE;
}
////在要用的地方
_RecordsetPtr m_recordset;
_ConnectionPtr m_connection;
//上两行可以放在头文件中
_variant_t sql="select * from "+m_tableName;
//创建记录集
try
{
m_recordset.CreateInstance("ADODB.Recordset");
m_recordset->Open(sql,_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
}
catch(_com_error e)///捕捉异常
{
AfxMessageBox("读取数据库失败!");///显示错误信息
}
//接下来就可以操作数据了。比如插入 _variant_t data="test";
m_recordset->AddNew();
m_recordset->PutCollect("test",data);
m_recordset->update();
//最后在退出的地方
m_recordset->close;
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=table.mdb","","",adModeUnknown);///连接数据库
///上面一句中连接字串中的Provider是针对ACCESS2000环境的 }
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
return FALSE;
}
////在要用的地方
_RecordsetPtr m_recordset;
_ConnectionPtr m_connection;
//上两行可以放在头文件中
_variant_t sql="select * from "+m_tableName;
//创建记录集
try
{
m_recordset.CreateInstance("ADODB.Recordset");
m_recordset->Open(sql,_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
}
catch(_com_error e)///捕捉异常
{
AfxMessageBox("读取数据库失败!");///显示错误信息
}
//接下来就可以操作数据了。比如插入 _variant_t data="test";
m_recordset->AddNew();
m_recordset->PutCollect("test",data);
m_recordset->update();
//最后在退出的地方
m_recordset->close;
解决方案 »
- winsock多线程执行错差问题
- 请问,大家都用VC6做什么啊
- send时遇到WSAEWOULDBLOCK时该怎么处理?
- “user breakpoint called from code at”错误是怎么回事?
- 给Combo Box赋值
- 大家说做一个网络传输协议的软件用Vc作好不好,用C#和Java都要用户装虚拟机。
- 问一个动态改变静态文本框的问题
- 为什么我把Shell_NotifyIcon(NIM_ADD,&trayInfo);封在控件里后有这个问题?
- HTTP连接的代理
- 关于两个工程结合的问题
- 菜鸟问题:如何从dao方式连接的数据库中取出记录?在线等待!!!!
- 我新买的移动硬盘,里边有异样的响声!
用CDATABASE和CRECORDSET联合操作就更好。
如果只写就用CDATABASE就可以啦。
具体的看看书吧。书上例子很清楚。