在数据库的开发中,
做c++开发的人,可能习惯这样做,写一个类,里面封装了所有需要的数据库操作函数。在以后要用的地方,声明一个对象,直接调用其中的成员函数。
但有一个问题是,我们经常需要把我们从数据库里面查询到的东西显示在我们的主窗口的界面上。这时,就是两个类之间的数据交换的问题了。
关于这个问题。我总结一下,有三种,当然,可能还有更多。
1.一切如常,只是声明的类成员函数前,要加关键字static,//涉及的一些知识,__thiscall __cdecl等,略过。
一个小例子:
class CADO
{
public:
bool RExecute(const _variant_t Source,void (*pfun)(_RecordsetPtr pRecord,DWORD lparam),DWORD lparam);
...
};
class CadoTextDlg : public CDialogEx
{
public:
CADO m_ado;
static void show(_RecordsetPtr pRecord,DWORD lparam);
};
void CadoTextDlg::show(_RecordsetPtr pRecord,DWORD lparam)
{
CadoTextDlg * pdlg=(CadoTextDlg*)lparam;
...
};
在CadoTextDlg中调用时用m_ado.xxx("SELECT *FROM xxx",&