📄 npm_overviewsystembss.cpp
字号:
void __fastcall TMainForm::NPM_OverviewSystemBSS()
{
TStringList *list;
TQuery *query;
int numsucc=0, numfail=0;
AnsiString FileName, sql, srchsql, delsql;
AnsiString Key1, Key2, Key3, Key4;
FileName = "BssReport." + FileNamePre + "10";
Key2 = "'" + FileNamePre.SubString(1, 4) + "-" + FileNamePre.SubString(5, 2) + "-" + FileNamePre.SubString(7, 2) + "'";
query = new TQuery(NULL);
query->DatabaseName = Database1->DatabaseName;
list = new TStringList;
list->LoadFromFile(FileName);
for(int i=0;i<list->Count;i++) //文本文件各行的处理
{
AnsiString s = list->Strings[i];
if(s.SubString(1, 8)=="BssStats") //如果是数据则进行导入处理
{
Key1 = "'" + s.SubString(1, 8) + "'";
Key3 = s.SubString(19, 2);
s = s.SubString(22, s.Length()-1);
Key4 = "'" + s.SubString(1, s.AnsiPos("|")-1) + "'";
s = s.SubString(s.AnsiPos("|")+1, s.Length()-1);
sql = "insert into G_BssReport values(" + Key1 + "," + Key2 + "," + Key3 + "," + Key4 + ",";
for(int k=1;k<=s.Length();k++) //对非字符类型数据进行空格替换成","
{
if(((s.SubString(k, 1))>="0" && (s.SubString(k, 1))<="9") || s.SubString(k, 1)==".")
sql = sql + s.SubString(k, 1);
else
if((s.SubString(k, 1)=="|"))
sql = sql + ",";
else
sql = sql + "0";
}
sql = sql + ")";
//LogMemo->Lines->Add(sql);
numsucc = 0;
for(int j=0; j<=sql.Length(); j++) //判断SQL语句是否正确,即字段数量是否正常
{
if(sql.SubString(j, 1)==",")
numsucc = numsucc + 1;
}
if(RightStr(sql, 2) == ",)")
{
sql = sql.SubString(1,sql.Length()-2) + ",0)";
}
if(numsucc==193) //将所取的一行的数据导入数据库
{
srchsql = "select * from G_BssReport where MyDate=" + Key2 +" and MyTime=" + Key3 + " and Bss=" + Key4;
query->SQL->Clear();
query->SQL->Add(srchsql);
//Memo1->Lines->Add(srchsql);
query->Open();
if(query->RecordCount > 0) //如果库中已经有本行数据则删除之
{
delsql = "delete from G_BssReport where MyDate=" + Key2 +" and MyTime=" + Key3 + " and BSS=" + Key4;
query->SQL->Clear();
query->SQL->Add(delsql);
//Memo1->Lines->Add(delsql);
query->ExecSQL();
}
query->SQL->Clear();
query->SQL->Add(sql);
query->ExecSQL();
}
else
numfail = numfail + 1;
Application->ProcessMessages();
}
}
LogMemo->Lines->Add("已经成功将" + Key2 + "的CellReport早忙时数据导入数据库,原始文件中有" +IntToStr(numfail) + "行数据不全,请查实");
delete query;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -