QT中MySql数据库从无到有创建过程
来源:互联网 发布:日上免税店 mac 编辑:程序博客网 时间:2024/06/14 11:41
QT中MySql数据库从无到有创建过程
1、在Qt中,首先要创建数据库连接、数据库、数据表,搭建一个可用的MySQL数据库平台,其他的插入数据、删除数据、查询等操作使用sql语句执行;
2、创建数据库连接。数据库连接名在创建时候就指定了,把数据库连接中基本配置信息(主机名、端口、用户名、密码)设置好,如果能打开说明数据库连接创建没有问题。
QString querystring;//**********创建数据库连接sql = QSqlDatabase::addDatabase("QMYSQL", "testConnect");sql.setHostName("127.0.0.1");sql.setPort(3306);sql.setUserName("root");sql.setPassword("123456");if(!sql.open()){ qDebug()<<"open failed"; return;}else{ qDebug()<<"open succeeded";}
3、创建数据库。Sql先指定连接名,执行创建数据库的sql语句,判断能够正确执行。因为上方sql是刚刚创建了数据库连接,所以开头也可不用指定数据库连接名,但为保持相互独立,第一句代码写上。
//**********创建数据库sql = QSqlDatabase::database("testConnect");querystring = "CREATE DATABASE IF NOT EXISTS operatesql";sql.exec(querystring); if (sql.lastError().isValid()) { qDebug() << sql.lastError(); qDebug() << "Create database failed."; return;} else { qDebug() << "Create database successfully."; }
4、创建数据表。Sql先指定数据库连接、数据库名,打开;执行创建数据表的sql语句,如果能够正确执行,说明数据表创建成功。
//**********创建数据表sql = QSqlDatabase::database("testConnect");sql.setDatabaseName("operatesql");if(!sql.open()){ qDebug()<<"open failed"; return;}else{ qDebug()<<"open succeeded";}querystring = "CREATE TABLE IF NOT EXISTS operatesql.persons\ (\ number int,\ name varchar(255),\ sex varchar(255),\ score float\ )";sql.exec(querystring); if (sql.lastError().isValid()) { qDebug() << sql.lastError(); qDebug() << "Create database failed."; return;} else { qDebug() << "Create database successfully."; } QMessageBox::information(NULL, "Warning", "Create Successful");
5、说明
如果数据库或数据表已经存在,使用sql语句再创建的时候会提示“已存在,创建失败”的错误,只能重新创建数据库或数据表,或者先判断是否存在再创建。
数据库连接如果原来就存在再创建则会覆盖。
以下部分代码是修改过的,考虑了原来的数据库、数据表存在的情况。
6、完整代码如下:
//**********MySQL数据库从无到有创建过程//**********打印sql数据库驱动QStringList drivers = QSqlDatabase::drivers(); qDebug() << drivers; QString querystring;//**********创建数据库连接sql = QSqlDatabase::addDatabase("QMYSQL", "testConnect");sql.setHostName("127.0.0.1");sql.setPort(3306);sql.setUserName("root");sql.setPassword("123456");if(!sql.open()){ qDebug()<<"open failed"; return;}else{ qDebug()<<"open succeeded";}//**********创建数据库sql = QSqlDatabase::database("testConnect");querystring = "CREATE DATABASE IF NOT EXISTS operatesql";sql.exec(querystring); if (sql.lastError().isValid()) { qDebug() << sql.lastError(); qDebug() << "Create database failed."; return;} else { qDebug() << "Create database successfully."; } //**********创建数据表sql = QSqlDatabase::database("testConnect");sql.setDatabaseName("operatesql");if(!sql.open()){ qDebug()<<"open failed"; return;}else{ qDebug()<<"open succeeded";}querystring = "CREATE TABLE IF NOT EXISTS operatesql.persons\ (\ number int,\ name varchar(255),\ sex varchar(255),\ score float\ )";sql.exec(querystring); if (sql.lastError().isValid()) { qDebug() << sql.lastError(); qDebug() << "Create database failed."; return;} else { qDebug() << "Create database successfully."; } QMessageBox::information(NULL, "Warning", "Create Successful");
阅读全文
0 0
- QT中MySql数据库从无到有创建过程
- Qt中MySQL数据库操作
- Qt中MySQL数据库操作
- qt中mysql数据库经验总结
- MySql中创建存储过程
- MySql中创建存储过程
- MySql中创建存储过程
- MySQL中创建存储过程
- MySql中创建存储过程
- Qt(学习)windows下Qt&MySQL数据库配置过程
- navicat创建mysql 数据库存储过程
- MySQL数据库中 如何在存储过程中通过传递的参数创建表
- view从无到有的过程
- git从无到有过程
- QT中如何驱动链接数据库MYSql
- QT中操作数据库(ACCESS、MySql)
- Qt中连接Mysql数据库的方法
- QT中操作数据库(ACCESS、MySql)
- c++类型推导
- JSTL标准标签库
- 欢迎使用CSDN-markdown编辑器
- javascript渲染机制&运行机制&页面性能
- uva1593代码对齐
- QT中MySql数据库从无到有创建过程
- 线段树模板题(结构体&一维数组)(区间最值,求和)
- css-文本
- ideal中如何建立文件夹
- 成分分析(Principal components analysis)-最大方差解释
- K&R学习1
- 几个编程问题非递归解决
- 扩增子分析神器USEARCH简介
- C语言----数据类型