sqlite是一个小型的数据库,多用在嵌入式系统中,以下是我的一个简单的应用。在网上找了好多文章,都不完整,无法在qt窗口上显示,经过多次试验,以下程序通过测试,希望对刚接触sqlite的各位有点帮助。
qt支持sqlite数据库,首先要在工程文件.pro中加入QT += sql,加入头文件#include<QtSql>.
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("test");
if(!db.open())
{
qDebug("open error!");
}
qDebug("Database operation!");
QSqlQuery query;
if(query.exec("CREATE TABLE test_table(id INT PRIMZRY KEY,name VARCHAR)")==false)
{
qDebug("Database open error!");
}
query.exec("insert into test_table values(0,'yang')");
query.exec("insert into test_table values(1,'li')");
query.exec("insert into test_table values(2,'wang')");
query.exec("insert into test_table values(3,'zhao')");
query.exec("select * from test_table");
while(query.next)
{
qDebug("Database operation too!");
int id = query.value(0).toInt();
QString name = query.value(1),toString();
qDebug() << id << name << endl;
}
QSqlTableModel *myModel = new QSqlTableModel;
myModel->setTable("test_table");
myModel->setHeaderData(0,Qt::Horizontal,tr("id"));
myModel->setHeaderData(1,Qt::Horizontal,tr("name"));
QTableView * view = new QTableView;
view->setWindowTitle("mySqlQueryModel");
myModel->select();
view->setModel(myModel);
view->show();
以上是个人的实现方法,可以在qt窗口界面上显示数据库创建的表格,有不妥之处还望指出。