QT中MySql数据库从无到有创建过程
2017-10-09 21:20
239 查看
QT中MySql数据库从无到有创建过程
1、在Qt中,首先要创建数据库连接、数据库、数据表,搭建一个可用的MySQL数据库平台,其他的插入数据、删除数据、查询等操作使用sql语句执行;
2、创建数据库连接。数据库连接名在创建时候就指定了,把数据库连接中基本配置信息(主机名、端口、用户名、密码)设置好,如果能打开说明数据库连接创建没有问题。
3、创建数据库。Sql先指定连接名,执行创建数据库的sql语句,判断能够正确执行。因为上方sql是刚刚创建了数据库连接,所以开头也可不用指定数据库连接名,但为保持相互独立,第一句代码写上。
4、创建数据表。Sql先指定数据库连接、数据库名,打开;执行创建数据表的sql语句,如果能够正确执行,说明数据表创建成功。
5、说明
如果数据库或数据表已经存在,使用sql语句再创建的时候会提示“已存在,创建失败”的错误,只能重新创建数据库或数据表,或者先判断是否存在再创建。
数据库连接如果原来就存在再创建则会覆盖。
以下部分代码是修改过的,考虑了原来的数据库、数据表存在的情况。
6、完整代码如下:
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");
相关文章推荐
- QT源码解析(七)Qt创建窗体的过程
- Qt简单窗体程序全界面创建过程
- Qt的dos创建过程
- 恢复MySQL数据库创建存储过程是遇到错误
- QT源码解析(七)Qt创建窗体的过程,作者“ tingsking18 ”(真正的创建QPushButton是在show()方法中,show()方法又调用了setVisible方法)
- QT学习记录二 (windows窗口创建过程)
- mysql+asp.net开发注意大全:mysql创建数据库的时候,创建新用户,并且付给权限。mysql存储过程的编写,mysql数据库引擎的区别,mysql数据库文件夹备份
- QT源码解析(七)Qt创建窗体的过程
- mysql数据库创建函数过程
- MySQL数据库中 如何在存储过程中通过传递的参数创建表
- QT在远程服务器上创建mysql数据库
- QT源码解析(七)Qt创建窗体的过程
- Qt创建窗体的过程
- Qt创建窗体的过程
- Qt(学习)windows下Qt&MySQL数据库配置过程
- 分别使用PreparedStatement和Statement对mysql数据库进行创建表,增加数据,查询数据和删除数据过程
- 存储过程创建语法:oracle
- webrtc在移动端:Android, IOS上的视频编码器创建过程
- C# 创建调用存储过程
- Qt之无边框窗口创建