Qt 的sqlite数据库的学习
来源:互联网 发布:网络堵塞怎么解决方法 编辑:程序博客网 时间:2024/05/16 12:24
我们先了解一下基本的类:QSqlDatabase 提供数据库的连接操作,QSqlQuery是执行Sql语句的类,如:
QSqlQueryquery(db);
query.exec("insertintopersonvalues(101,'Danny','Young')");
下面是如何创建一个数据库以及一个数据表。
void
myDatabase::createDB()
{
QSqlDatabase db = QSqlDatabase::addDatabase(
"QSQLITE"
);
<span style=
"background-color: #ff0000;"
>db.setDatabaseName(
"music.db"
);
//创建数据库
</span>
if
(!db.open())
{
qDebug()<<
"database is error"
;
//return;
}
else
{
qDebug()<<
"database is ok"
;
//return;
}
QSqlQuery query(db);
bool
bsuccess =
query.exec(
"create table person (id int primary key, "
"firstname varchar(20), lastname varchar(20))"
);
//创建一个表
query.exec(
"insert into person values(101, 'Danny', 'Young')"
);
query.exec(
"insert into person values(102, 'Christine', 'Holand')"
);
query.exec(
"insert into person values(103, 'Lars', 'Gordon')"
);
query.exec(
"insert into person values(104, 'Roberto', 'Robitaille')"
);
query.exec(
"insert into person values(105, 'Maria', 'Papadopoulos')"
);
if
(!bsuccess)
{
qDebug()<<
"table is error"
;
}
else
{
qDebug()<<
"table is ok"
;
}
//query.exec("INSERT INTO persons VALUES ('xue','chao','langfang')");
//db.close();
}
当然我们一定要记住这个顺序,先创建数据库,然后再去创建一个表(作为菜鸟的我犯这个错误了),还有一点需要注意的红色标记的那句话,我参考的数籍一般都这样写
db.setDatabaseName(":memory:");
这样就把生成的数据库文件是在内存当中的,在工程文件目录下找不到。
上面使我们创建了一个数据库和一个表,那么我们如何把它呈现在我们的QTableview部件上呢?
QSqlTableModel *model = new QSqlTableModel; model->setTable("person"); model->setEditStrategy(QSqlTableModel::OnManualSubmit); model->select(); ui->tableView->setModel(model); ui->tableView->show();
上面的代码就把数据库中的信息不加筛选的打印到控件上了。
0 0
- Qt 的sqlite数据库的学习
- Qt 的sqlite数据库的学习
- QT实现对sqlite数据库的操作
- sqlite数据库的学习笔记
- QT学习之路————使用QT自带的QSqlDatabase类简单操作sqlite数据库
- 关于qt 的sqlite数据库的使用总结
- QT学习5:数据库,sqlite相关
- QT中数据库(SQLite)的应…
- SQLITE数据库存储类对象 用到qt的QByteArray
- Qt开发的sqlite数据库应用出现Driver not loaded
- qt下sqlite数据库的应用(二)
- Qt提升对SQLite数据库的读写速度
- Qt提升对SQLite数据库的读写速度
- android学习笔记---SQLite数据库的使用
- Android的数据库(SQLite)学习
- 学习笔记:SQLite数据库索引的使用
- 记一次对sqlite数据库的学习
- Android 案例---SQLite数据库的学习
- rabbitmq 实现原理
- ios epub电子书阅读器demo
- KSP算法的实现(Top-k-shortest paths 的Matlab实现)
- Openwrt下设置程序开机自动启动
- 生成python程序的exe文件
- Qt 的sqlite数据库的学习
- Inspiration from Apache HAWQ
- UIApplication
- JavaScript原生实现多组图片切换
- java后台通过url获取json数据
- as的用法(基础)
- 严重: Exception occurred during processing request: Position beyond number of declared ordinal paramet
- 第7章 程序调试与异常处理
- python的切片与迭代