git-svn-id: svn://192.168.0.12/source@16 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
@@ -251,10 +251,11 @@ void Widget::on_insert()
|
||||
list.append(m_pleCycle->text());
|
||||
InsertLog("Run (" + list.at(2) + "," + list.at(4) + ") -> (" + list.at(6) + "," + list.at(7) +")" );
|
||||
InsertLog("Data Get ..." );
|
||||
m_mainData.clear();
|
||||
m_body_data.clear();
|
||||
m_reply_data.clear();
|
||||
DataGet(list);
|
||||
InsertLog("Data Filter ..." );
|
||||
DataFilter(list);
|
||||
//DataFilter(list);
|
||||
InsertLog("Data Put ..." );
|
||||
DataPut(list);
|
||||
InsertLog("Finish");
|
||||
@@ -324,7 +325,8 @@ void Widget::FilterProcssRefresh()
|
||||
QString Widget::SqlString(QString _str)
|
||||
{
|
||||
_str.replace("\\","\\\\");
|
||||
_str.replace("'","");
|
||||
_str.replace("'","\\'");
|
||||
_str.replace("\"","\\\"");
|
||||
_str.replace(",","\\,");
|
||||
return _str;
|
||||
}
|
||||
@@ -391,35 +393,69 @@ void Widget::DataGet(QStringList _list)
|
||||
|
||||
QString strSelect;
|
||||
strSelect = "select ";
|
||||
strSelect += "CONVERT(body_articleid USING utf8),";
|
||||
strSelect += "CONVERT(body_nickname USING utf8),";
|
||||
strSelect += "CONVERT(body_date USING utf8),";
|
||||
strSelect += "CONVERT(body_articletitle USING utf8),";
|
||||
strSelect += "CONVERT(body_data USING utf8),";
|
||||
strSelect += "CONVERT(body_platformid USING utf8),";
|
||||
strSelect += "CONVERT(body_platformtitle USING utf8),";
|
||||
strSelect += "CONVERT(url USING utf8),";
|
||||
strSelect += "CONVERT(reply_nickname USING utf8),";
|
||||
strSelect += "CONVERT(reply_parent USING utf8),";
|
||||
strSelect += "CONVERT(reply_date USING utf8),";
|
||||
strSelect += "CONVERT(reply_data USING utf8),";
|
||||
strSelect += "CONVERT(reply_urlreply USING utf8),";
|
||||
strSelect += "CONVERT(keyword_id USING utf8),";
|
||||
strSelect += "CONVERT(platformname USING utf8),";
|
||||
strSelect += "CONVERT(platformform USING utf8),";
|
||||
strSelect += "CONVERT(articleform USING utf8),";
|
||||
strSelect += "CONVERT(reply_rownum USING utf8)";
|
||||
strSelect += "CONVERT(platform_name USING utf8),"; //0
|
||||
strSelect += "CONVERT(platform_form USING utf8),"; //1
|
||||
strSelect += "CONVERT(platform_title USING utf8),"; //2
|
||||
strSelect += "CONVERT(article_id USING utf8),"; //3
|
||||
strSelect += "CONVERT(article_nickname USING utf8),"; //4
|
||||
strSelect += "CONVERT(article_title USING utf8),"; //5
|
||||
strSelect += "CONVERT(article_data USING utf8),"; //6
|
||||
strSelect += "CONVERT(article_url USING utf8),"; //7
|
||||
strSelect += "CONVERT(article_hit USING utf8),"; //8
|
||||
strSelect += "CONVERT(article_date USING utf8)"; //9
|
||||
//strSelect += "CONVERT(platform_id USING utf8)"; //10
|
||||
strSelect += " from ";
|
||||
strSelect += "data_" + _list.at(1);
|
||||
strSelect += " Order by body_date";
|
||||
strSelect += " where ";
|
||||
strSelect += " article_form = 'body'";
|
||||
strSelect += " Order by article_date";
|
||||
|
||||
//qDebug() << strSelect;
|
||||
|
||||
if(query.exec(strSelect) == false) { InsertLog(query.lastError().text());return;}
|
||||
while(query.next())
|
||||
{
|
||||
QStringList strList;
|
||||
for(int i = 0; i < 18; i++)
|
||||
if (query.value(3).toString().isEmpty()) continue;
|
||||
for(int i = 0; i < 10; i++)
|
||||
strList << " " + query.value(i).toString() + " ";
|
||||
m_mainData.append(strList);
|
||||
m_body_data.append(strList);
|
||||
}
|
||||
|
||||
int i=0;
|
||||
foreach(QStringList strList,m_body_data)
|
||||
{
|
||||
strSelect = "select ";
|
||||
strSelect += "CONVERT(article_id USING utf8),"; //0
|
||||
strSelect += "CONVERT(article_nickname USING utf8),"; //1
|
||||
strSelect += "CONVERT(article_parent USING utf8),"; //2
|
||||
strSelect += "CONVERT(article_data USING utf8),"; //3
|
||||
strSelect += "CONVERT(article_date USING utf8)"; //4
|
||||
strSelect += " from ";
|
||||
strSelect += "data_" + _list.at(1);
|
||||
strSelect += " where ";
|
||||
strSelect += " article_form = 'reply' and";
|
||||
strSelect += " article_url = '";
|
||||
strSelect += strList.at(7).trimmed();
|
||||
strSelect += "' Order by article_order";
|
||||
if(query.exec(strSelect) == false) {
|
||||
InsertLog(query.lastError().text());return;}
|
||||
int nStart = m_reply_data.size() + 1;
|
||||
int nEnd = nStart;
|
||||
while(query.next())
|
||||
{
|
||||
QStringList strList;
|
||||
for(int i = 0; i < 5; i++)
|
||||
strList << " " + query.value(i).toString() + " ";
|
||||
m_reply_data.append(strList);
|
||||
nEnd++;
|
||||
}
|
||||
if (nStart == nEnd)
|
||||
nStart = nEnd = -1;
|
||||
else
|
||||
nEnd--;
|
||||
m_body_data[i].push_back(QString::number(nStart));
|
||||
m_body_data[i++].push_back(QString::number(nEnd));
|
||||
}
|
||||
db.close();
|
||||
}
|
||||
@@ -435,7 +471,7 @@ void Widget::FilterDate(int _nCategory,QDate _dateStart,QDate _dateEnd)
|
||||
}
|
||||
|
||||
QVector <QStringList> copyData;
|
||||
foreach(QStringList strList , m_mainData)
|
||||
foreach(QStringList strList , m_body_data)
|
||||
{
|
||||
bool bFlag = false;
|
||||
QString strTime = strList.at(nColumn).trimmed();
|
||||
@@ -450,8 +486,8 @@ void Widget::FilterDate(int _nCategory,QDate _dateStart,QDate _dateEnd)
|
||||
if (bFlag)
|
||||
copyData.push_back(strList);
|
||||
}
|
||||
m_mainData.clear();
|
||||
m_mainData = copyData;
|
||||
m_body_data.clear();
|
||||
m_body_data = copyData;
|
||||
}
|
||||
|
||||
void Widget::FilterSeracher(int _nCatalog,int _nMethod , int _nKeyword , QString _strSearch)
|
||||
@@ -464,7 +500,7 @@ void Widget::FilterSeracher(int _nCatalog,int _nMethod , int _nKeyword , QString
|
||||
}
|
||||
|
||||
QVector <QStringList> copyData;
|
||||
foreach(QStringList strList , m_mainData)
|
||||
foreach(QStringList strList , m_body_data)
|
||||
{
|
||||
bool bFlag = false;
|
||||
QString strData = strList.at(_nCatalog);
|
||||
@@ -502,8 +538,8 @@ void Widget::FilterSeracher(int _nCatalog,int _nMethod , int _nKeyword , QString
|
||||
}
|
||||
if (bFlag) copyData.push_back(strList);
|
||||
}
|
||||
m_mainData.clear();
|
||||
m_mainData = copyData;
|
||||
m_body_data.clear();
|
||||
m_body_data = copyData;
|
||||
}
|
||||
|
||||
void Widget::DataFilter(QStringList _list)
|
||||
@@ -522,7 +558,6 @@ void Widget::DataFilter(QStringList _list)
|
||||
if(query.exec(sql) == false) { InsertLog(query.lastError().text());return;}
|
||||
while (query.next())
|
||||
{
|
||||
QString str;
|
||||
switch(query.value(1).toInt())
|
||||
{
|
||||
case 0://Date
|
||||
@@ -549,7 +584,115 @@ void Widget::DataPut(QStringList _list)
|
||||
}
|
||||
|
||||
QSqlQuery query;
|
||||
QString strQuery;
|
||||
strQuery = "DROP TABLE body_" + _list.at(5) + QString("_0000");
|
||||
if(query.exec(strQuery.toUtf8()) == false) /*{*/InsertLog(query.lastError().text());//return;}
|
||||
|
||||
strQuery = "DROP TABLE reply_" + _list.at(5) + QString("_0000");
|
||||
if(query.exec(strQuery.toUtf8()) == false) /*{*/InsertLog(query.lastError().text());//return;}
|
||||
|
||||
strQuery = "CREATE TABLE body_" + _list.at(5) + QString("_0000 (");
|
||||
strQuery += "num INT NOT NULL auto_increment primary key,"
|
||||
"platform_name CHAR(64),"
|
||||
"platform_form CHAR(64),"
|
||||
"platform_title VARCHAR(256),"
|
||||
"category_num INT,"
|
||||
"id CHAR(128),"
|
||||
"nickname VARCHAR(256),"
|
||||
"title VARCHAR(1024),"
|
||||
"data MEDIUMTEXT,"
|
||||
"url CHAR(255),"
|
||||
"hit INT,"
|
||||
"date DATETIME,"
|
||||
"reply_startnum INT,"
|
||||
"reply_endnum INT,"
|
||||
"isreal BOOLEAN,"
|
||||
"bodyisreal BOOLEAN,"
|
||||
"replyisreal BOOLEAN)DEFAULT CHARACTER SET = 'utf8' ENGINE=InnoDB;";
|
||||
|
||||
if(query.exec(strQuery.toUtf8()) == false)/*{*/InsertLog(query.lastError().text());//return;}
|
||||
|
||||
strQuery = "CREATE TABLE reply_" + _list.at(5) + QString("_0000 (");
|
||||
strQuery += "num INT NOT NULL auto_increment primary key,"
|
||||
"id CHAR(128),"
|
||||
"nickname VARCHAR(256),"
|
||||
"parent VARCHAR(256),"
|
||||
"data MEDIUMTEXT,"
|
||||
"date DATETIME,"
|
||||
"isreal BOOLEAN,"
|
||||
"body_num INT)DEFAULT CHARACTER SET = 'utf8' ENGINE=InnoDB;";
|
||||
|
||||
if(query.exec(strQuery.toUtf8()) == false)/*{*/InsertLog(query.lastError().text());//return;}
|
||||
|
||||
query.prepare("INSERT INTO body_" + _list.at(5) + QString("_0000 (") + "platform_name,"
|
||||
"platform_form,"
|
||||
"platform_title,"
|
||||
"category_num,"
|
||||
"id,"
|
||||
"nickname,"
|
||||
"title,"
|
||||
"data,"
|
||||
"url,"
|
||||
"hit,"
|
||||
"date,"
|
||||
"reply_startnum,"
|
||||
"reply_endnum,"
|
||||
"isreal,"
|
||||
"bodyisreal,"
|
||||
"replyisreal"
|
||||
") value ("
|
||||
":platform_name,"
|
||||
":platform_form,"
|
||||
":platform_title,"
|
||||
":category_num,"
|
||||
":id,"
|
||||
":nickname,"
|
||||
":title,"
|
||||
":data,"
|
||||
":url,"
|
||||
":hit,"
|
||||
":date,"
|
||||
":reply_startnum,"
|
||||
":reply_endnum,"
|
||||
":isreal,"
|
||||
":bodyisreal,"
|
||||
":replyisreal)");
|
||||
foreach(QStringList strList,m_body_data)
|
||||
{
|
||||
query.bindValue(":platform_name",strList.at(0));
|
||||
query.bindValue(":platform_form",strList.at(1));
|
||||
query.bindValue(":platform_title",SqlString(strList.at(2)).toUtf8());
|
||||
query.bindValue(":id",strList.at(3));
|
||||
query.bindValue(":nickname",SqlString(strList.at(4)).toUtf8());
|
||||
query.bindValue(":title",SqlString(strList.at(5)).toUtf8());
|
||||
query.bindValue(":data",SqlString(strList.at(6)).toUtf8());
|
||||
query.bindValue(":url",strList.at(7));
|
||||
query.bindValue(":hit",strList.at(8));
|
||||
query.bindValue(":date",strList.at(9));
|
||||
query.bindValue(":reply_startnum",strList.at(10));
|
||||
query.bindValue(":reply_endnum",strList.at(11));
|
||||
query.bindValue(":isreal",true);
|
||||
query.bindValue(":bodyisreal",false);
|
||||
query.bindValue(":replyisreal",false);
|
||||
if(query.exec() == false)
|
||||
InsertLog(query.lastError().text());
|
||||
}
|
||||
query.prepare("INSERT INTO reply_" + _list.at(5) + QString("_0000 (") + QString("id,nickname,parent,data,date)"
|
||||
" value "
|
||||
"(:id,:nickname,:parent,:data,:date)"));
|
||||
foreach(QStringList strList,m_reply_data)
|
||||
{
|
||||
query.bindValue(":id",strList.at(0));
|
||||
query.bindValue(":nickname",SqlString(strList.at(1)));
|
||||
query.bindValue(":parent",SqlString(strList.at(2)));
|
||||
query.bindValue(":data",SqlString(strList.at(3)));
|
||||
query.bindValue(":date",strList.at(4));
|
||||
if(query.exec() == false)
|
||||
InsertLog(query.lastError().text());
|
||||
}
|
||||
|
||||
/*
|
||||
QSqlQuery query;
|
||||
QString strDelete = "delete from data where company_name = '" + _list.at(6) + "' AND category_name = '" + _list.at(7) + "'";
|
||||
if(query.exec(strDelete.toUtf8()) == false) {
|
||||
InsertLog(query.lastError().text());
|
||||
@@ -561,7 +704,7 @@ void Widget::DataPut(QStringList _list)
|
||||
"article_num , article_rownum , article_form , article_title , article_url , article_id , article_nickname , "
|
||||
"article_date , article_body , article_reply ) value (";
|
||||
|
||||
foreach(QStringList strList , m_mainData)
|
||||
foreach(QStringList strList , m_body_data)
|
||||
{
|
||||
for (int i = 0; i < strList.size(); i++)
|
||||
strList[i] = strList[i].trimmed();
|
||||
@@ -590,6 +733,7 @@ void Widget::DataPut(QStringList _list)
|
||||
|
||||
if(query.exec(strQuery) == false){ InsertLog(query.lastError().text());return;}
|
||||
}
|
||||
*/
|
||||
db.close();
|
||||
}
|
||||
|
||||
@@ -657,3 +801,4 @@ void Widget::Update()
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
@@ -34,13 +34,14 @@ private:
|
||||
QProgressBar *m_pProg;
|
||||
QTimer m_timer;
|
||||
int m_nMode;
|
||||
QVector <QStringList> m_data;
|
||||
QVector <QStringList> m_body_data;
|
||||
QVector <QStringList> m_reply_data;
|
||||
//SGetThread *m_pThread;
|
||||
//SPutThread *m_pPutThread;
|
||||
QSqlDatabase db;
|
||||
void InsertLog(QString str);
|
||||
void FilterProcssRefresh();
|
||||
QVector <QStringList> m_mainData;
|
||||
//QVector <QStringList> m_mainData;
|
||||
void DataGet(QStringList _list);
|
||||
void DataFilter(QStringList _list);
|
||||
void DataPut(QStringList _list);
|
||||
|
||||
Reference in New Issue
Block a user