誠心求幫忙!做的是中文分詞技術中的字串匹配。
前面這一部分代碼用于c++鏈接access的代碼編譯的時候沒有錯,一運行就報錯“abnormal program termination”。后面的代碼單獨除錯過沒有錯。
#include <afx.h>//CString
#include <afxdao.h>
#include <iostream>
using namespace std;
//access2007
#include <fstream>
#import "C:\Program Files\Common Files\System\ado\msado15.dll" rename("EOF", "adoEOF")
using namespace ADODB;
using std::ofstream;
/*------------------------定義一個CMyDictionary-----------------------------------*/
class CMyDictionary
{
CDaoDatabase *pDatabase;//資料庫類指標
CDaoRecordset *pWords;
CDaoTableDef *pWordsDef;
public:
CMyDictionary();
~CMyDictionary();
long GetFreq(CString w);
};
CMyDictionary Dict;
/*------------------------CMyDictionary的建構式-----------------------------*/
CMyDictionary::CMyDictionary()
{
pDatabase=new CDaoDatabase;
pDatabase->Open("d:\\myfile\\mydict.accdb");////打開資料庫-----------------
pWordsDef=new CDaoTableDef(pDatabase);
pWordsDef->Open("words");//打開詞表結構,詞表名作為引數
pWords=new CDaoRecordset(pDatabase);
pWords->Open(pWordsDef);//打開詞表記錄集,用詞表結構指標作為引數
}
/*----------------------------CMyDictionary的解構式--------------------------------*/
CMyDictionary::~CMyDictionary()
{
if(pWords)
{pWords->Close();delete pWords;}
if(pWordsDef)
{pWordsDef->Close();delete pWordsDef;}
if(pDatabase)
{pDatabase->Close();delete pDatabase;}
}
/*---------------------------查詞的詞典中是否有該詞--------------*/
long CMyDictionary::GetFreq(CString w)
{
COleVariant kw(w,VT_BSTRT),kf;
pWords->SetCurrentIndex("word");
if(pWords->Seek("=",&kw))
{
return 1;//詞典中找到了該詞
}
else return -1;//詞典中未找到該詞
}
uj5u.com熱心網友回復:
#include <afx.h>//CString
#include <afxdao.h>
#include <iostream>
using namespace std;
//access2007
#include <fstream>
#import "C:\Program Files\Common Files\System\ado\msado15.dll" rename("EOF", "adoEOF")
using namespace ADODB;
using std::ofstream;
/*------------------------定義一個CMyDictionary-----------------------------------*/
class CMyDictionary
{
CDaoDatabase *pDatabase;//資料庫類指標
CDaoRecordset *pWords;
CDaoTableDef *pWordsDef;
public:
CMyDictionary();
~CMyDictionary();
long GetFreq(CString w);
};
CMyDictionary Dict;
/*------------------------CMyDictionary的建構式-----------------------------*/
CMyDictionary::CMyDictionary()
{
pDatabase=new CDaoDatabase;
pDatabase->Open("d:\\myfile\\mydict.accdb");////打開資料庫-----------------
pWordsDef=new CDaoTableDef(pDatabase);
pWordsDef->Open("words");//打開詞表結構,詞表名作為引數
pWords=new CDaoRecordset(pDatabase);
pWords->Open(pWordsDef);//打開詞表記錄集,用詞表結構指標作為引數
}
/*----------------------------CMyDictionary的解構式--------------------------------*/
CMyDictionary::~CMyDictionary()
{
if(pWords)
{pWords->Close();delete pWords;}
if(pWordsDef)
{pWordsDef->Close();delete pWordsDef;}
if(pDatabase)
{pDatabase->Close();delete pDatabase;}
}
/*---------------------------查詞的詞典中是否有該詞--------------*/
long CMyDictionary::GetFreq(CString w)
{
COleVariant kw(w,VT_BSTRT),kf;
pWords->SetCurrentIndex("word");
if(pWords->Seek("=",&kw))
{
return 1;//詞典中找到了該詞
}
else return -1;//詞典中未找到該詞
}
uj5u.com熱心網友回復:
你打幾個斷點,Debug模式下除錯一下看看,執行到哪里失敗了?uj5u.com熱心網友回復:
try catch 捕捉 _com_erroruj5u.com熱心網友回復:
一步步跟蹤,實在不行,運行一句,彈個對話框,看看運行到哪里就出錯了...uj5u.com熱心網友回復:
#import "C:\Program Files\Common Files\System\ado\msado15.dll" rename("EOF", "adoEOF")XP與win7/8/10的路徑是不一樣的~~
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/145228.html
標籤:數據庫
上一篇:MFC程式如何截獲所有訊息
下一篇:哪個大神幫我來看看~
