在我在MFC扩展DLL中有如下代码:
#include "stdafx.h"
#include "ado.h"
#include "AdoConnect.h"
extern "C" __declspec(dllexport) void AccessConnect(CAdoConnection ConnObj,CString dbname)
{
CAdoConnection TempConnObj;
TempConnObj=ConnObj;
CString strConnect ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+dbname;
TempConnObj.Disconnect();
if (!TempConnObj.Connect(LPCSTR(strConnect)))
{
AfxMessageBox("连接数据库失败!");
return ;
}
}调用调试中发现 参数ConnObj的值并没有传进来 CAdoConnection 是我在ADO.H中定义的类,而第二个参数dbname都能传进来,请问大家为什么?
#include "stdafx.h"
#include "ado.h"
#include "AdoConnect.h"
extern "C" __declspec(dllexport) void AccessConnect(CAdoConnection ConnObj,CString dbname)
{
CAdoConnection TempConnObj;
TempConnObj=ConnObj;
CString strConnect ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+dbname;
TempConnObj.Disconnect();
if (!TempConnObj.Connect(LPCSTR(strConnect)))
{
AfxMessageBox("连接数据库失败!");
return ;
}
}调用调试中发现 参数ConnObj的值并没有传进来 CAdoConnection 是我在ADO.H中定义的类,而第二个参数dbname都能传进来,请问大家为什么?
解决方案 »
- Visual C++.net 2003使用
- 如何把this 指针作为参数传递给线程!?
- 求书 VC技术内幕4版 潘爱民 翻译的那个版本 加QQ传
- 关于一个API函数的问题:请大家帮帮忙!
- 请教!如何实现菜单下拉列表中的各个子项和树视控件对应子项目的同步选取。急!
- 请教一个菜鸟问题
- 如何提取CString中的数据?
- 高手救命:dlg.DoModal();出现异常,对话框不能打开?
- 高手救我!!!MFC中如何让引入一个位图文件,然后让该位图沿一条固定直线(起点终点坐标已知)运动??
- 一天死机了30次,救~命~啊~(熟悉VC开发MSXML的高手里面请)
- 如何检测系统被装了键盘钩子?
- 为什么当我使用类定义变量,比如:CString str后,在输入"str."时不会弹出窗口显示CString的成员列表?其它类也这样,除非是自己刚刚定义
AccessConnect(m_adoConnection1,"Citc.Mdb");
protected:
CAdoConnection m_adoConnection1;
为什么还要CAdoConnection TempConnObj;
TempConnObj=ConnObj;好象多余了。
我觉得传引用更好些。
void AccessConnect(CAdoConnection& ConnObj,CString dbname)
1。 我在CAdoConnection类中病没有 赋值操作函数。(operator =);
2。 改成引用是更合理一些void AccessConnect(CAdoConnection& ConnObj,CString dbname)
期待中