QT学习5:数据库,sqlite相关
2014-07-25 09:43
344 查看
1.qt5已经内带了 QSqlite 驱动 和 sqlite数据库,非常方便,
使用数据库QSqlDatabase类进行数据库相关的编程时,要在.pro里面 += sql
其他的废话不说,上代码 ( 数据库是工程目录下自己创建的一个stock.db文件 )
2. QSqlQuery query; 一定要在 db.open()以后定义
之前报了一个out of memory Unable to execute statement 就是因为在QSqlDatabase的 db.open()前就定义了
资料参考:
Qt 学习之路 2(55):数据库操作 http://www.devbean.net/2013/06/qt-study-road-2-database/
Qt, QSqlDatabase类详细介绍 http://hi.baidu.com/ageeker/item/40059c0237697ed21ff046f1
最后再暴贴51cto的
详解讲解 Qt SQLite 3入门教程
详解Qt 中如何提高Sqlite读写速度
解决QT 中Sqlite数据库添加加密功能
Qt数据库操作 连接SQLite和MySQL数据库实例
浅谈Qt Sqlite (总结篇)
详解Qt 利用Sqlite静态编译库 (Linux 篇)
使用数据库QSqlDatabase类进行数据库相关的编程时,要在.pro里面 += sql
其他的废话不说,上代码 ( 数据库是工程目录下自己创建的一个stock.db文件 )
void MainWindow::initDataBase()
{
QSqlDatabase db;
//创建数据库实例(即创建数据库连接)
//addDatabase() 第一个参数为要装载的驱动,这里使用qt自带的qsqlite
//第二个参数"connectDB_1" 为自定义的数据库连接名,不是数据库名 )
db = QSqlDatabase::addDatabase("QSQLITE", "connectDB_1");
//选择要使用的数据库名字 即工程目录下的stock.db
//因为连接的是本地sqlite数据库,所以 主机,用户名,密码不需要配置
db.setDatabaseName("stock.db");
// db.setHostName("host");
// db.setDatabaseName("dbname");
// db.setUserName("username");
// db.setPassword("password");
//尝试连接数据库
if (!db.open()) {
outQString("无法打开数据库,错误为:" + db.lastError().text() );
}
else {
outQString("数据库已成功打开");
qDebug()<<"数据库含表:"<< db.tables(); //输出数据库里面的表
//QSL语句,参数里要填入一个数据库实例,而且一定要在 db.open()以后定义,
//之前报了一个out of memory Unable to execute statement 就是因为在db.open()前就定义了
QSqlQuery query( db ) ;
//如果表table_1不存在 则创建
if( ! db.tables().contains("table_1") ) {
bool correct = query.exec(" create table table_1 ("
" sid INTEGER PRIMARY KEY AUTOINCREMENT ,"
" scode varchar not null ,"
" sname varchar not null "
") ");
if(!correct ) outQString("建表语句执行错误:" + query.lastError().text() );
else
outQString("建表table_1 成功");
}
else outQString("表table_1已存在");
}
2. QSqlQuery query; 一定要在 db.open()以后定义
之前报了一个out of memory Unable to execute statement 就是因为在QSqlDatabase的 db.open()前就定义了
资料参考:
Qt 学习之路 2(55):数据库操作 http://www.devbean.net/2013/06/qt-study-road-2-database/
Qt, QSqlDatabase类详细介绍 http://hi.baidu.com/ageeker/item/40059c0237697ed21ff046f1
最后再暴贴51cto的
详解讲解 Qt SQLite 3入门教程
详解Qt 中如何提高Sqlite读写速度
解决QT 中Sqlite数据库添加加密功能
Qt数据库操作 连接SQLite和MySQL数据库实例
浅谈Qt Sqlite (总结篇)
详解Qt 利用Sqlite静态编译库 (Linux 篇)
相关文章推荐
- Qt学习17——初识数据库SQLite(上)
- Qt学习17——初识数据库SQLite(中)
- oracle数据库学习总结:数据库概念及相关信息查看
- 数据库学习(01):免费数据库(SQLite、Berkeley DB、PostgreSQL、MySQL、Firebird、mSQL、MSDE、DB2 Express-C、Oracle XE
- Python Sqlite3数据库相关操作
- qt事件相关学习笔记
- 学习第十七天@数据库相关
- Qt中使用第三方的数据库(Sqlite)存储并读取文件本体
- ios学习--sqlite3数据库的使用
- 9月26号 Android SQLiteDatabase 的相关学习记录
- MySQL服务器学习笔记!(一) ——数据库相关概念
- 【转】Android获取用于操作数据库的SQLiteDatabase实例【学习记录】
- Android SQLite数据库学习笔记
- QT学习(五)QT 连接 sqlite
- qt连接数据库sqlite3,在网上看到好多人写的都有缺陷,经过努力,自己调试出来了一个
- sqlite3数据库和表的相关命令
- QT学习:根据数据库的内容动态添加Button
- android 数据库 SQLiteOpenHelper和ContentProvider学习笔记---添加修改删除数据之联系人(二)
- QT 数据库相关
- 学习QT的一些相关博客和自己的一点总结