📄 test.cpp
字号:
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF")
#include <algorithm>
#include <iterator>
#include <vector>
#include <string>
#include <cassert>
#include <iostream>
#include <utility>
#include <map>
#include <fstream>
#include <conio.h>
#include <ctime>
#include <comdef.h>
using namespace std;
_ConnectionPtr m_pConnection;
//指向文本表的数据集
_RecordsetPtr m_pRecordset;
bool Initialize_connect()
{
CoInitialize(NULL);
m_pConnection.CreateInstance(__uuidof(Connection));
try
{
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=朝鲜大事记库BB.mdb","","",adModeUnknown);
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open("SELECT * FROM TextTable",_variant_t((IDispatch*)m_pConnection,true),adOpenDynamic,adLockOptimistic,adCmdText);
if(!m_pRecordset->BOF) m_pRecordset->MoveFirst();
}
catch(_com_error e)
{
cout<<"数据库连接失败,确认数据库是否在当前路径下!"<<endl;
return FALSE;
}
return true;
}
void WriteText()
{
if(!m_pRecordset->BOF) m_pRecordset->MoveFirst();
while(!m_pRecordset->adoEOF)
{
string line;//写入文本特征文本的行字符串
if(m_pRecordset->GetCollect("事件内容").vt != VT_NULL)
{
vector <string> WordID;
//获取文本类别
char *TextID= _com_util::ConvertBSTRToString((_bstr_t)m_pRecordset->GetCollect("TextNumber"));
char *Text= _com_util::ConvertBSTRToString((_bstr_t)m_pRecordset->GetCollect("事件内容"));
char *Character=_com_util::ConvertBSTRToString((_bstr_t)m_pRecordset->GetCollect("Character"));
cout<<endl<<"当前文本号:"<<TextID<<endl;
string textnumber(TextID);
string text(Text);
string fileName;
switch(*Character)
{
case 'A':fileName="F:\\Data\\美国\\";break;
case 'D':fileName="F:\\Data\\东突\\";break;
case 'F':fileName="F:\\Data\\法轮功\\";break;
case 'J':fileName="F:\\Data\\经济\\";break;
case 'M':fileName="F:\\Data\\民主派\\";break;
case 'N':fileName="F:\\Data\\其它\\";break;
case 'O':fileName="F:\\Data\\奥运会\\";break;
case 'Q':fileName="F:\\Data\\群体事件\\";break;
case 'R':fileName="F:\\Data\\人权\\";break;
case 'S':fileName="F:\\Data\\四川汶川地震\\";break;
case 'T':fileName="F:\\Data\\台湾\\";break;
case 'W':fileName="F:\\Data\\外国\\";break;
case 'Z':fileName="F:\\Data\\藏独\\";break;
}
fileName+=textnumber;
fileName+=".txt";
ofstream out(fileName.c_str());
line+=text+" ";
delete (TextID);
delete (Text);
delete (Character);
out<<line<<"\n";
}
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
m_pRecordset = NULL;
}
void close_connect()
{
if(m_pConnection->State)
m_pConnection->Close();
m_pConnection= NULL;
}
int main()
{
Initialize_connect();
WriteText();
close_connect();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -