程序代码如下:
bool CMSCDoc::ReadMdb()
{
//DB登録用関数
//Access2000のMDB使用のための制御
AfxGetModuleState()->m_dwVersion = 0x0601; //DBのフルパス
CString DBFileName = "D:\\PgMscOriginal.mdb";
CString DBTable = "MSC_OBJECT_TBL";
CString SelectSQL="select * from MSC_OBJECT_TBL order by OBJ_SEQNO"; COLORREF color;
CString colorname;
CPoint point(50,50);
COleVariant objno, objname, objcondition,objcolor;
CString sObjColor; CDaoDatabase db;
try {
db.Open(DBFileName, TRUE, FALSE); //这一行出的错
}
catch(CDaoException* e) {
char DBErorr[255];
e->GetErrorMessage(DBErorr,255);
AfxMessageBox(DBErorr,0);
return FALSE;
}
//レコードセット作成
CDaoRecordset rs(&db); //レコードセットオープン
SelectSQL="select * from MSC_OBJECT_TBL order by OBJ_SEQNO";
rs.Open(dbOpenDynaset,SelectSQL);
while (!rs.IsEOF()) { objno = rs.GetFieldValue(0); // Number Field Read
objname = rs.GetFieldValue(1); // Number Field Read
objcondition = rs.GetFieldValue(2); // Number Field Read
objcolor = rs.GetFieldValue(3); // Number Field Read
objcolor.ChangeType(VT_BSTR);
sObjColor = objcolor.bstrVal;
int iObjno = objno.iVal;
point.x= iObjno*50;
CObj *pObjNew=new CObj();
ParseObjColor(sObjColor,&color,&colorname);
pObjNew->Create(point,sObjColor,color,colorname);
m_ObjectArray.Add((CObj*)pObjNew);
rs.MoveNext(); // Next Data Read
}
/* DB Close */
rs.Close();
db.Close();
return true;
}
请高手指点迷津!
bool CMSCDoc::ReadMdb()
{
//DB登録用関数
//Access2000のMDB使用のための制御
AfxGetModuleState()->m_dwVersion = 0x0601; //DBのフルパス
CString DBFileName = "D:\\PgMscOriginal.mdb";
CString DBTable = "MSC_OBJECT_TBL";
CString SelectSQL="select * from MSC_OBJECT_TBL order by OBJ_SEQNO"; COLORREF color;
CString colorname;
CPoint point(50,50);
COleVariant objno, objname, objcondition,objcolor;
CString sObjColor; CDaoDatabase db;
try {
db.Open(DBFileName, TRUE, FALSE); //这一行出的错
}
catch(CDaoException* e) {
char DBErorr[255];
e->GetErrorMessage(DBErorr,255);
AfxMessageBox(DBErorr,0);
return FALSE;
}
//レコードセット作成
CDaoRecordset rs(&db); //レコードセットオープン
SelectSQL="select * from MSC_OBJECT_TBL order by OBJ_SEQNO";
rs.Open(dbOpenDynaset,SelectSQL);
while (!rs.IsEOF()) { objno = rs.GetFieldValue(0); // Number Field Read
objname = rs.GetFieldValue(1); // Number Field Read
objcondition = rs.GetFieldValue(2); // Number Field Read
objcolor = rs.GetFieldValue(3); // Number Field Read
objcolor.ChangeType(VT_BSTR);
sObjColor = objcolor.bstrVal;
int iObjno = objno.iVal;
point.x= iObjno*50;
CObj *pObjNew=new CObj();
ParseObjColor(sObjColor,&color,&colorname);
pObjNew->Create(point,sObjColor,color,colorname);
m_ObjectArray.Add((CObj*)pObjNew);
rs.MoveNext(); // Next Data Read
}
/* DB Close */
rs.Close();
db.Close();
return true;
}
请高手指点迷津!
解决方案 »
- vc60操作EXCEL表格怎样输入身份证号?
- VC写的控件在BCB中报异常EOleSysError with message '未指定的错误'????高手帮帮忙!!!!!!
- 关于进程(在线等)
- VC MYSQL数据转移的问题
- 在一个窗口中如何用CDC输出多行文本?急啊,谢谢........................................................................................................
- vc要学些什么东西
- 关于MFC的new操作符分配内存的性能问题
- MFC关于对话框的按钮调用CXXview中的函数的问题,头文件相互包含问题
- 关于视频点播
- 请问:如何把一个24位位图变成灰色?
- 在线揭贴---等待ing
- 如何让一个对话框可以获得另一个对话框中某个控件所包含的信息?
还有没有别的原因?
大家想一想......
http://dev.csdn.net/develop/article/26/26995.shtm
这篇文章说:vc6无法直接对access2000进行支持,要用的话先转换为97版才行。
晕倒.
应该在AfxDaoInit——DAO引擎初始化——之前调用。
MDAC2.5开始在安装包之中去掉了DAO引擎
可以在微软下载中心搜索Jet引擎的下载。