git-svn-id: svn://192.168.0.12/source@1 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
18
DBManager/DBManager.pro
Normal file
18
DBManager/DBManager.pro
Normal file
@@ -0,0 +1,18 @@
|
||||
#-------------------------------------------------
|
||||
#
|
||||
# Project created by QtCreator 2014-11-10T16:30:58
|
||||
#
|
||||
#-------------------------------------------------
|
||||
|
||||
QT += core gui sql
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||
|
||||
TARGET = DBManager
|
||||
TEMPLATE = app
|
||||
|
||||
|
||||
SOURCES += main.cpp\
|
||||
widget.cpp
|
||||
|
||||
HEADERS += widget.h
|
||||
11
DBManager/main.cpp
Normal file
11
DBManager/main.cpp
Normal file
@@ -0,0 +1,11 @@
|
||||
#include "widget.h"
|
||||
#include <QApplication>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
Widget w;
|
||||
w.show();
|
||||
|
||||
return a.exec();
|
||||
}
|
||||
242
DBManager/widget.cpp
Normal file
242
DBManager/widget.cpp
Normal file
@@ -0,0 +1,242 @@
|
||||
#include "widget.h"
|
||||
#include <QDebug>
|
||||
#include <QSqlError>
|
||||
#include <QSqlQuery>
|
||||
#include <QHBoxLayout>
|
||||
#include <QTime>
|
||||
#include <QProcess>
|
||||
|
||||
Widget::Widget(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
m_pbtDelete = new QPushButton ("Delete",this);
|
||||
QObject::connect(m_pbtDelete,SIGNAL(clicked()),this,SLOT(DeleteButton()));
|
||||
m_pbtMake = new QPushButton ("Make",this);
|
||||
QObject::connect(m_pbtMake,SIGNAL(clicked()),this,SLOT(MakeButton()));
|
||||
m_pbtSend = new QPushButton ("Send",this);
|
||||
QObject::connect(m_pbtSend,SIGNAL(clicked()),this,SLOT(SendButton()));
|
||||
|
||||
QVBoxLayout *vlayout = new QVBoxLayout;
|
||||
{
|
||||
QHBoxLayout *hlayout = new QHBoxLayout;
|
||||
hlayout->addWidget(m_pbtDelete);
|
||||
hlayout->addWidget(m_pbtMake);
|
||||
hlayout->addWidget(m_pbtSend);
|
||||
vlayout->addLayout(hlayout);
|
||||
}
|
||||
vlayout->addWidget(&m_listResult);
|
||||
setLayout(vlayout);
|
||||
}
|
||||
|
||||
Widget::~Widget()
|
||||
{
|
||||
delete m_pbtDelete;
|
||||
delete m_pbtMake;
|
||||
delete m_pbtSend;
|
||||
}
|
||||
|
||||
void Widget::DeleteButton()
|
||||
{
|
||||
QSqlDatabase dbData = QSqlDatabase::addDatabase("QMYSQL");
|
||||
dbData.setUserName("root");
|
||||
dbData.setDatabaseName("concepters");
|
||||
|
||||
if (!dbData.open())
|
||||
{
|
||||
qDebug() << dbData.lastError().text();
|
||||
}
|
||||
|
||||
InsertLog("Delete Start");
|
||||
QSqlQuery sql = dbData.exec("Delete from THIRD_ARTICLE_LIST");
|
||||
if (sql.lastError().isValid())
|
||||
InsertLog(sql.lastError().text());
|
||||
else
|
||||
InsertLog("Delete Ok");
|
||||
|
||||
dbData.close();
|
||||
}
|
||||
|
||||
void Widget::InsertLog(QString str)
|
||||
{
|
||||
QTime time = QTime::currentTime();
|
||||
QString strOut = time.toString("[hh:mm:ss] ") + str;
|
||||
m_listResult.addItem(strOut);
|
||||
if (m_listResult.count() > 1024)
|
||||
{
|
||||
m_listResult.removeItemWidget(m_listResult.item(0));
|
||||
QListWidgetItem* item = m_listResult.takeItem(0);
|
||||
delete item;
|
||||
}
|
||||
m_listResult.setCurrentRow( m_listResult.count() - 1 );
|
||||
m_listResult.repaint();
|
||||
/*
|
||||
QDate date = QDate::currentDate();
|
||||
QFile file(date.toString(Qt::ISODate)+"_"+QString::number(_nSelect)+".log");
|
||||
if (!file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append))
|
||||
return;
|
||||
|
||||
QTextStream out(&file);
|
||||
out << strOut << "\n";
|
||||
file.close();
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
void Widget::MakeButton()
|
||||
{
|
||||
QSqlDatabase dbData = QSqlDatabase::addDatabase("QMYSQL");
|
||||
dbData.setUserName("root");
|
||||
dbData.setDatabaseName("concepters");
|
||||
|
||||
if (!dbData.open())
|
||||
{
|
||||
qDebug() << dbData.lastError().text();
|
||||
}
|
||||
QSqlQuery sql;
|
||||
sql = dbData.exec("insert into THIRD_ARTICLE_LIST(PLATFORM,PLATFORM_TYPE,ARTICLE_TYPE,PLATFORM_TITLE,ARTICLE_TITLE,ARTICLE_URL,ARTICLE_NICKNAME,ARTICLE_DATE,ARTICLE_ARTICLE )"
|
||||
"select "
|
||||
"'naver' , 'blog' , 'article',"
|
||||
"OTHER , TITLE , URL , NICK , DATE , LEFT(DATA,8192)"
|
||||
"from blog");
|
||||
if (sql.lastError().isValid())
|
||||
{
|
||||
InsertLog(sql.lastError().text());
|
||||
return;
|
||||
}
|
||||
InsertLog("Insert 1 OK");
|
||||
sql = dbData.exec("insert into THIRD_ARTICLE_LIST(PLATFORM,PLATFORM_TYPE,ARTICLE_TYPE,PLATFORM_TITLE,ARTICLE_TITLE,ARTICLE_URL,ARTICLE_NICKNAME,ARTICLE_DATE,ARTICLE_ARTICLE )"
|
||||
"select "
|
||||
"'naver' , 'cafe' , 'article',"
|
||||
"OTHER , TITLE , URL , NICK , DATE , LEFT(DATA,8192)"
|
||||
"from cafe");
|
||||
if (sql.lastError().isValid())
|
||||
{
|
||||
InsertLog(sql.lastError().text());
|
||||
return;
|
||||
}
|
||||
InsertLog("Insert 2 OK");
|
||||
sql = dbData.exec("insert into THIRD_ARTICLE_LIST(PLATFORM,PLATFORM_TYPE,ARTICLE_TYPE,PLATFORM_TITLE,ARTICLE_TITLE,ARTICLE_URL,ARTICLE_NICKNAME,ARTICLE_DATE,ARTICLE_ARTICLE,ARTICLE_REPLY)"
|
||||
"select "
|
||||
"CONVERT('naver' USING utf8),"
|
||||
"CONVERT('blog' USING utf8),"
|
||||
"CONVERT('reply' USING utf8),"
|
||||
"CONVERT(b.OTHER USING utf8),"
|
||||
"CONVERT(b.TITLE USING utf8),"
|
||||
"CONVERT(b.URL USING utf8),"
|
||||
"CONVERT(c.NICK USING utf8),"
|
||||
"CONVERT(c.DATE USING utf8),"
|
||||
"CONVERT(LEFT(b.DATA,8192) USING utf8),"
|
||||
"CONVERT(LEFT(c.DATA,8192) USING utf8)"
|
||||
"FROM blog b inner join comment c on b.url = c.url");
|
||||
|
||||
if (sql.lastError().isValid())
|
||||
{
|
||||
InsertLog(sql.lastError().text());
|
||||
qDebug() << sql.lastError().text();
|
||||
return;
|
||||
}
|
||||
InsertLog("Insert 3 OK");
|
||||
|
||||
sql = dbData.exec("insert into THIRD_ARTICLE_LIST(PLATFORM,PLATFORM_TYPE,ARTICLE_TYPE,PLATFORM_TITLE,ARTICLE_TITLE,ARTICLE_URL,ARTICLE_NICKNAME,ARTICLE_DATE,ARTICLE_ARTICLE,ARTICLE_REPLY)"
|
||||
"select "
|
||||
"CONVERT('naver' USING utf8),"
|
||||
"CONVERT('cafe' USING utf8),"
|
||||
"CONVERT('reply' USING utf8),"
|
||||
"CONVERT(ca.OTHER USING utf8),"
|
||||
"CONVERT(ca.TITLE USING utf8),"
|
||||
"CONVERT(ca.URL USING utf8),"
|
||||
"CONVERT(co.NICK USING utf8),"
|
||||
"CONVERT(co.DATE USING utf8),"
|
||||
"CONVERT(LEFT(ca.DATA,8192) USING utf8),"
|
||||
"CONVERT(LEFT(co.DATA,8192) USING utf8)"
|
||||
"FROM cafe ca inner join cafe_comment co on ca.url = co.url");
|
||||
if (sql.lastError().isValid())
|
||||
{
|
||||
InsertLog(sql.lastError().text());
|
||||
return;
|
||||
}
|
||||
|
||||
InsertLog("Insert Finish");
|
||||
}
|
||||
|
||||
void Widget::SendButton()
|
||||
{
|
||||
QSqlDatabase dbData = QSqlDatabase::addDatabase("QMYSQL");
|
||||
dbData.setUserName("root");
|
||||
dbData.setDatabaseName("concepters");
|
||||
if (!dbData.open())
|
||||
{
|
||||
qDebug() << dbData.lastError().text();
|
||||
}
|
||||
|
||||
InsertLog("Send Start");
|
||||
QSqlQuery sql = dbData.exec("select PLATFORM,PLATFORM_TYPE,ARTICLE_TYPE,PLATFORM_TITLE,ARTICLE_TITLE,ARTICLE_URL,ARTICLE_NICKNAME,ARTICLE_DATE,ARTICLE_ARTICLE,ARTICLE_REPLY from THIRD_ARTICLE_LIST");
|
||||
if (sql.lastError().isValid())
|
||||
{
|
||||
InsertLog(sql.lastError().text());
|
||||
return;
|
||||
}
|
||||
|
||||
QStringList strlistQuery;
|
||||
QStringList strlistKeyword;
|
||||
strlistKeyword << "첫째" << "둘째" << "셋째" << "넷째";
|
||||
while (sql.next())
|
||||
{
|
||||
bool bFlag = true;
|
||||
QString strQuery = "insert into THIRD_ARTICLE_LIST(KEYWORD,PLATFORM,PLATFORM_TYPE,ARTICLE_TYPE,PLATFORM_TITLE,ARTICLE_TITLE,ARTICLE_URL,ARTICLE_NICKNAME,ARTICLE_DATE,ARTICLE_ARTICLE,ARTICLE_REPLY ) value (";
|
||||
strQuery += "'";
|
||||
strQuery += "초등&내신";
|
||||
strQuery += "',";
|
||||
for (int j = 0; j < 10 ; j++)
|
||||
{
|
||||
strQuery += "'";
|
||||
QString str = sql.value(j).toString();
|
||||
if (j == 7)
|
||||
{
|
||||
str.replace("-","/");
|
||||
str.replace(".","/");
|
||||
if (str.left(5) == QString("Error").left(5))
|
||||
bFlag = false;
|
||||
}
|
||||
str.replace("'","\'");
|
||||
str.replace("\"","\\\"");
|
||||
str.replace(",","");
|
||||
strQuery += str;
|
||||
strQuery += "',";
|
||||
}
|
||||
|
||||
strQuery = strQuery.left(strQuery.size()-1) + ")";
|
||||
if (bFlag)
|
||||
strlistQuery.push_back(strQuery);
|
||||
}
|
||||
InsertLog("Make Query End");
|
||||
dbData.close();
|
||||
|
||||
QSqlDatabase dbWeb = QSqlDatabase::addDatabase("QMYSQL");
|
||||
dbWeb.setHostName("db.big-bird.co.kr");
|
||||
dbWeb.setUserName("concepters");
|
||||
dbWeb.setPassword("con97996655");
|
||||
dbWeb.setDatabaseName("dbconcepters");
|
||||
if (!dbWeb.open())
|
||||
{
|
||||
InsertLog(dbWeb.lastError().text());
|
||||
return;
|
||||
}
|
||||
dbWeb.exec("Delete from THIRD_ARTICLE_LIST");
|
||||
if (dbWeb.lastError().isValid())
|
||||
{
|
||||
InsertLog(dbWeb.lastError().text());
|
||||
return;
|
||||
}
|
||||
|
||||
foreach(QString str,strlistQuery)
|
||||
{
|
||||
dbWeb.exec(str);
|
||||
if (dbWeb.lastError().isValid())
|
||||
{
|
||||
InsertLog(dbWeb.lastError().text());
|
||||
}
|
||||
}
|
||||
dbWeb.close();
|
||||
InsertLog("Send End");
|
||||
}
|
||||
30
DBManager/widget.h
Normal file
30
DBManager/widget.h
Normal file
@@ -0,0 +1,30 @@
|
||||
#ifndef WIDGET_H
|
||||
#define WIDGET_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QSqlDatabase>
|
||||
#include <QPushButton>
|
||||
#include <QListWidget>
|
||||
|
||||
class Widget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
private:
|
||||
QPushButton *m_pbtDelete;
|
||||
QPushButton *m_pbtMake;
|
||||
QPushButton *m_pbtSend;
|
||||
QListWidget m_listResult;
|
||||
private:
|
||||
void InsertLog(QString str);
|
||||
public:
|
||||
Widget(QWidget *parent = 0);
|
||||
~Widget();
|
||||
|
||||
|
||||
private slots:
|
||||
void DeleteButton();
|
||||
void MakeButton();
|
||||
void SendButton();
|
||||
};
|
||||
|
||||
#endif // WIDGET_H
|
||||
Reference in New Issue
Block a user