三胞集团股票行情:VC6 中 JET3.51 OLE DB Provider 和JET4.0 有什么不同?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 22:20:45
我刚学VC6,书上要求用Microsoft Jet 3.51 OLE DB Provider,
可我的机器中只有Microsoft Jet 4.0 OLE DB Provider,只好将就一下.
程序如下:
COLEDBDepartmentMFCView::~COLEDBDepartmentMFCView()
{
}

void COLEDBDepartmentMFCView::DoDataExchange(CDataExchange* pDX)
{
COleDBRecordView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COLEDBDepartmentMFCView)
DDX_Text(pDX, IDC_DEPARTMENTCODE, m_pSet->m_DepartmentCode,5);
DDV_MaxChars(pDX, m_DepartmentCode, 4);
DDX_Text(pDX, IDC_DEPARTMENTNAME, m_pSet->m_DepartmentName,51);
DDV_MaxChars(pDX, m_DepartmentName, 50);
//}}AFX_DATA_MAP
}

出错信息如下:
--------------------Configuration: OLEDBDepartmentMFC - Win32 Debug--------------------
Compiling resources...
Compiling...
StdAfx.cpp
Compiling...
MainFrm.cpp
OLEDBDepartmentMFC.cpp
OLEDBDepartmentMFCDoc.cpp
OLEDBDepartmentMFCSet.cpp
OLEDBDepartmentMFCView.cpp
C:\学VC\06\OLEDBDepartmentMFC\OLEDBDepartmentMFCView.cpp(52) : error C2665: 'DDX_Text' : none of the 12 overloads can convert parameter 3 from type 'unsigned short [3]'
C:\学VC\06\OLEDBDepartmentMFC\OLEDBDepartmentMFCView.cpp(54) : error C2665: 'DDX_Text' : none of the 12 overloads can convert parameter 3 from type 'unsigned short [26]'
Generating Code...
执行 cl.exe 时出错.

OLEDBDepartmentMFC.exe - 1 error(s), 0 warning(s)
后来另找了一台带Microsoft Jet 3.51 OLE DB Provider的机器就OK了.

我不明白3.51和4.0为什么不兼容,出错信息是什么意思,怎样改正.
我只有25分,因此全加上了.
问题暂时算是解决了.
好象是关于定义问题.JET4.0做完后,有四个地方要改.改完后可以正常运行.而原版的程序因为机器上没有JET3.51没法打开MDB.
我目前只是解决了能用的问题,至于更深层的为什么那么做还不太清楚.
如果哪位高手原意指出,本人不胜感谢!