odbc,我在vc的console模式下的模拟有点小问题
zlhcc 2002-04-21 06:37:00 尽管通过classwizard我可以操作odbc,但我打算用console模拟一下,只是截其架构。
但问题来了,我跟踪过原码,(student是我在odbc中注册的access数据库)
class CMyRecord: public CRecordSet
{
...........
}
CString CMyRecord::GetDefaultConnect() //crecord::allchstmt调用
{
return _T("ODBC;DSN=student");
}
CString CMyRecord::GetDefaultSQL() //crecord::allchstmt调用
{
return _T("[student]");
}
CMyRecord record;
record.open(); //这里有错了
理论上open函数在看到m_pdatabase为NULL时,调用allochstant函数,而这个函数上去new 一个cdatabase对象,并打开即调用m-pDatabase->Open(....);
open函数绑定的数据源来自GetDefaultConnection函数的返回植。
因为我是open默认。所以其中的sql哪个什么参数的是到getdedaultsql函数中找。这个原码可查看crecordset::BUILDSQL函数。
很遗憾,查了这么多,我还是有错误。