Widget02.h
#ifndef WIDGET02_H
#define WIDGET02_H
#include <QWidget>
class Widget02 : public QWidget
{
Q_OBJECT
public:
explicit Widget02(QWidget *parent = 0);
signals:
public slots:
};
#endif // WIDGET02_H
Widget02.cpp
#include "Widget02.h"
#include <QSqlDatabase>
#include <QSqlTableModel> //
#include <QSqlRecord>
#include <QDebug>
#include <QSqlError>
Widget02::Widget02(QWidget *parent) :
QWidget(parent)
{
// QSqlTableModel: 数据表对应的数据结构
QSqlTableModel model;
model.setTable("tuser");
//model.setFilter("username<>'newuser'");
model.select(); // exec query
int ret = model.rowCount();
// read data from database
for(int i=0; i<ret; ++i)
{
QSqlRecord record = model.record(i);
for(int j=0; j<record.count(); j++)
{
qDebug() << record.value(j);
}
}
// update data to database
// model.setData(model.index(0, 1), "xxxxxx");
// model.submitAll(); //提交到数据库 update
// insert data to database
QSqlRecord record = model.record();
// record.setValue("id", ); //自增长不需
record.setValue("username", "newuser1");
record.setValue("password", "newpassword");
record.setValue("gender", 1);
model.insertRecord(-1, record);
model.submitAll();
}
#include <QApplication>
#include "Widget02.h"
#include <QSqlDatabase>
#include <QSqlError>
#include <QDebug>
#include "Contact.h"
int main(int argc, char*argv[])
{
QApplication app(argc, argv);
/* QSQLITE QODBC QPLSQL */
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1");
db.setUserName("root");
db.setPassword("iamxgl");
db.setDatabaseName("d0718");
bool bRet = db.open();
if(bRet == false)
{
qDebug() << "error open database" << db.lastError().text();
exit(0);
}
qDebug() << "open database success";
Widget02 w;
w.show();
return app.exec();
}