#include <QtCore>
#include <QtGui>
#include <QtSql>
#include "widget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QTextEdit display;
display.resize(400, 160);
display.show();
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("example");
db.setUserName("root");
db.setPassword("root");
bool ok = db.open();
if (ok) {
QSqlQuery query;
query.exec("insert into employee values('5', '诸葛', '流云', '2010-06-09', '666')");
if (query.exec("select * from employee")) {
int numRows = 0;
if (db.driver()->hasFeature(QSqlDriver::QuerySize)) {
numRows = query.size();
} else {
query.last();
numRows = query.at() + 1;
}
QString id, lname, fname, phone;
QDateTime dob;
display.append("=================================");
display.append(QString::fromLocal8Bit("ID | 姓名 | 生日 | 电话 "));
display.append("*********************************");
while (query.next()) {
id = query.value(0).toString();
//lname = QString::fromLocal8Bit(query.value(1).toByteArray());
lname = query.value(1).toString();
//fname = QString::fromLocal8Bit(query.value(2).toByteArray());
fname = query.value(2).toString();
dob = query.value(3).toDateTime();
//phone = QString::fromLocal8Bit(query.value(4).toByteArray());
phone = query.value(4).toString();
QString result = id + " " + fname + lname + " " + dob.toString() + " " + phone;
display.append(result);
}
display.append("===============================");
display.append(QString("Total %1 rows").arg(numRows));
} else {
QSqlError error = query.lastError();
display.append("From mysql database: " + error.databaseText());
}
} else {
display.append("Cann't open database!");
display.append("Reason: " + db.lastError().databaseText());
}
display.append(QString::fromLocal8Bit("你好"));
return a.exec();
}