头文件里加
我们提供的服务有:成都做网站、成都网站建设、成都外贸网站建设、微信公众号开发、网站优化、网站认证、长兴ssl等。为1000多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的长兴网站制作公司
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
这句了吗?
App的InitInstance里加AfxOleInit();这句了吗?
都加了的话在OnInitADOConn() 的cahtch里用AfxMessageBox(e.Description());看看是什么错误。
实在找不到原因就把Provider=SQLOLEDB.1换个驱动试试。有时候某1个驱动会出莫名其妙的错误。
使用 ADODB.Command 来调用存储过程,如:
Dim adoComm As Object
'// 创建一个对象,我们用来调用存储过程
Set adoComm = CreateObject("ADODB.Command")
With adoComm
'// 设置连接,假设 adoConn 为已经连接的 ADODB.Connection 对象
.ActiveConnection = adoConn
'// 类型为存储过程,adCmdStoredProc = 4
.CommandType = 4
'// 存储过程名称
.CommandText = "你的存储过程名称"
'// 设置输入参数
.Parameters.Item("@输入参数").Value = "值"
'// 执行存储过程
.Execute
If .Parameters.Item("@返回参数名称").Value = True Then
Else
End If
End With
'// 释放对象
Set adoComm = Nothing
首先
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
然后:
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
m_pConnection-ConnectionTimeout=2;///设置超时时间为2秒
//以下是连接access2000数据库。。。
m_pConnection-Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=lo.mdb;","","",adModeUnknown);
//连接SQL数据库
// m_pConnection-CursorLocation = adUseClient;
// m_pConnection-IsolationLevel = adXactReadCommitted;
// m_pConnection-Open("Provider=SQLOLEDB;Server=127.0.0.1;DATABASE=kgd;UID=sa;PWD=","","",adModeUnknown);
}
}
catch(_com_error e)///捕捉异常
{
CString temp;
temp.Format("连接数据库错误信息:%s",e.ErrorMessage());
::MessageBox(NULL,temp,"提示信息",NULL);
AfxMessageBox(e.Source());
AfxMessageBox(e.Description());
return false;
}
我是这样干的.很健康