#include "widget.h"
#include
#include
#include
#include
#include
#include
#include
#include
#include
bool connect(const QString &dbName)
{
QSqlDatabase db;
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(dbName);
if(!db.open())
{
QMessageBox::critical(0,QObject::tr("Database Error"),db.lastError().text());
return false;
}
return true;
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// Widget w;
// w.show();
qDebug() << "12";
if(connect("demo9.db"))
{
QSqlQuery query;
if (!query.exec("CREATE TABLE student ("
"id INTEGER PRIMARY KEY AUTOINCREMENT,"
"name VARCHAR,"
"age INT)"))
{
QMessageBox::critical(0,QObject::tr("Database1 Error"),query.lastError().text());
qDebug() << "123";
return 1;
}
else
{
qDebug() << "1234";
//return 1;
}
}
if(connect("demo9.db"))
{
QSqlQuery query;
query.prepare("INSERT INTO student(name,age) VALUES(?,?)");
QVariantList names;
names << "Tom" << "Jack" << "Jane" << "Jerry";
query.addBindValue(names);
QVariantList ages;
ages << 20 << 21 << 22 << 23 ;
query.addBindValue(ages);
if(!query.execBatch())
{
QMessageBox::critical(0,QObject::tr("Database2 Error"),query.lastError().text());
}
query.finish();
query.exec("SELECT name,age FROM student");
while(query.next())
{
QString name = query.value(0).toString();
int age = query.value(1).toInt();
qDebug() << name << ":" << age;
qDebug() << "12";
}
}
else
{
qDebug() << "12234";
return 1;
}
qDebug() << "12";
if(connect("demo9.db"))
{
QSqlTableModel *model = new QSqlTableModel();
model->setTable("student");
model->setSort(1,Qt::AscendingOrder);//设置第二列升序排列
//model->setData(1,Qt::Horizontal,"Name");
// model->setData(2,Qt::Horizontal,"Age");
model->select();
QTableView *view = new QTableView;
view->setModel(model);
view->setSelectionMode(QAbstractItemView::SingleSelection);//设置选择模式
view->setSelectionBehavior(QAbstractItemView::SelectRows);//设置选择行为
view->resizeRowsToContents();
view->setEditTriggers(QAbstractItemView::NoEditTriggers);//设置不可编辑
// QHeaderView *header = view->horizontalHeader();
// header->setStretchLastSection(true);//设置拉伸爽口时最后的列一直占据空间
view->show();
}
return a.exec();
}
http://s6/mw690/002nmMV1ty6LMAnrMBn65&690操作数据库及显示数据" TITLE="QT 操作数据库及显示数据" />
加载中,请稍候......