详解Ubuntu10.10下Qt连接Mysql数据库
转载自:http://mobile.51cto.com/symbian-273262.htm
详解Ubuntu10.10下Qt连接Mysql数据库是本文要介绍的内容,很详细的步骤,我们先来看内容。
第一步:安装qt开发环境
- xhy@xhy-desktop:~$sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer
第二步:安装mysql开发环境
- xhy@xhy-desktop:~$sudo apt-get install mysql-server mysql-client
- xhy@xhy-desktop:~$sudo apt-get install libmysqlclient15-dev
- xhy@xhy-desktop:~$sudo apt-get install libqt4-sql-mysql
- xhy@xhy-desktop:~$sudo /etc/init.d/mysql restart
第三步:给普通用户授权操作数据库
- xhy@xhy-desktop:~$ mysql -u root -p (root登录数据库)
- mysql> create database mydb; (创建一个数据库)
- mysql> grant all privileges on *.* to username@localhost identified by 'password';
- mysql> quit;
给特定用户分配数据操作权限的格式是:
grant 权限1,权限2,...权限n on 数据库名称.表名称 to 用户名@用户ip地址 identified by '密码';
第四步:测试环境
- #include <QApplication>
- #include <QtSql>
- #include <QTableView>
- #include <iostream>
- using namespace std;
- int main(int argc, char *argv[])
- {
- QApplication app(argc, argv);
- QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
- db.setHostName("localhost");
- db.setDatabaseName("mydb");
- db.setUserName("username");
- db.setPassword("password");
- db.open();
- QSqlQuery query;
- query.exec("create table hello(id bigint not null auto_increment,name varchar(255),age bigint,primary key (id))");
- /*query.exec("insert into hello(name, age) values('xiaoxi', 18)");
- query.exec("insert into hello(name, age) values('xiaonan', 19)");
- query.exec("insert into hello(name, age) values('xiaobei', 20)");
- query.exec("insert into hello(name, age) values('xiaodong', 21)");*/
- //ODBC风格
- query.prepare("insert into hello(name, age)" "values(?, ?)");
- query.addBindValue("xiaoxi");
- query.addBindValue(18);
- query.exec();
- query.addBindValue("xiaonan");
- query.addBindValue(19);
- query.exec();
- query.addBindValue("xiaobei");
- query.addBindValue(20);
- query.exec();
- query.addBindValue("xiaodong");
- query.addBindValue(21);
- query.exec();
- //Oracle风格
- /*query.prepare("insert into hello(name, age) values(:name, :age)");
- query.bindValue(":name", "xiaoxi");
- query.bindValue(":age", 18);
- query.exec();
- query.bindValue(":name", "xiaonan");
- query.bindValue(":age", 19);
- query.exec();
- query.bindValue(":name", "xiaobei");
- query.bindValue(":age", 20);
- query.exec();
- query.bindValue(":name", "xiaodong");
- query.bindValue(":age", 21);
- query.exec();*/
- QSqlQueryModel *model = new QSqlQueryModel;
- model->setQuery("select * from hello");
- model->setHeaderData(0, Qt::Horizontal, "id");
- model->setHeaderData(1, Qt::Horizontal, "name");
- model->setHeaderData(2, Qt::Horizontal, "age");
- QTableView *view = new QTableView;
- view->setWindowTitle("QSqlQueryModel");
- view->setModel(model);
- view->show();
- /*QSqlTableModel *model = new QSqlTableModel;
- model->setTable("hello");
- model->select();
- for (int i = 0; i < model->rowCount(); ++i)
- {
- QSqlRecord record = model->record(i);
- int id = record.value(0).toInt();
- QString name = record.value(1).toString();
- int age = record.value(2).toInt();
- cout << id << " " << qPrintable(name) << " " << age << endl;
- }*/
- db.close();
- return app.exec();
- }
编译:
- xhy@xhy-desktop:~$ qmake -project
- xhy@xhy-desktop:~$ qmake
一定别忘了在工程的.pro文件里加上下面一行:
- QT += sql
- xhy@xhy-desktop:~$make
- xhy@xhy-desktop:~$./mysql
转载于:https://blog.51cto.com/poettears/1174096
详解Ubuntu10.10下Qt连接Mysql数据库相关推荐
- qt mingw连接mysql_win下Qt连接MySql (mingw)
/*************************************************************************************************** ...
- linux(ARM架构)下的mysql安装、QT连接mysql数据库(完整版)
一.安装MYSQL之前要先换源 二.安装MYSQL 1.安装 2.安装完成 3.安装后无法登陆 3.1 原因 3.2 登陆后切换database 3.3 修改密码(注意这里账号和密码是双引号) 3.4 ...
- mysql数据库字段变形_详解如何利用amoeba(变形虫)实现mysql数据库读写分离
摘要:这篇MySQL栏目下的"详解如何利用amoeba(变形虫)实现mysql数据库读写分离",介绍的技术点是"MySQL数据库.数据库读写分离.amoeba.MySQL ...
- 【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(二、编译连接)
本篇教程分为三个部分: [全教程]qt连接mysql--从qt编译mysql驱动到qt连接mysql数据库(一.编译连接前准备) [全教程]qt连接mysql--从qt编译mysql驱动到qt连接my ...
- qt 连接mysql数据库_QT连接MYSQL数据库教程
QT连接MYSQL数据库教程 最近购买了阿里云Linux服务器,处于自学需要安装了MYSQL5.7. 准备用QT开发个小工具,在使用QT提供的标准类连接MYSQL库的时候一直爆出无法加载MYSQL驱动 ...
- 【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(一、编译连接前准备)
一.说明 电脑系统:win10 qt版本:5.13.2和5.14.1(测试均成功) mysql版本:MySQL-5.5 本篇教程分为三个部分: [全教程]qt连接mysql--从qt编译mysql驱动 ...
- 关于MAC下pymysql连接mysql数据库报错2003的问题解决方法
关于MAC下pymysql连接mysql数据库报错2003的问题解决方法 问题:pymysql.err.OperationalError: (2003, "Can't connect to ...
- linux mysql如何远程连接mysql数据库,Linux下远程连接MySQL数据库的方法
Linux下远程连接MySQL数据库的方法 踩坑笔记 估计搞了一个多小时才把这个远程连接搞好.一台本地电脑,一台云服务器,都是linux系统. 步骤 1.在服务器端开启远程访问 首先进入mysql数据 ...
- Linux下编译连接mysql数据库
1.在Linux下编译连接mysql数据库的程序时,需要使用安装Mysql数据库时自带的mysql_config脚本.它会为你编译MySQL客户端,并连接到MySQL服务器提供有用的信息.需要使用下面 ...
最新文章
- 迁移学习之InceptionV3(159层),Xception(126层),Inception_ResNet_V2(572层)(图像识别)
- JavaScript 函数声明,函数表达式,匿名函数,立即执行函数之区别
- 浅析在网站优化工作中是如何优化网站流量的?
- pandas 或者字段值_Pandas 用法总结
- zookeeper出现Error contacting service. It is probably not running.
- mfcc中的fft操作_简化音频数据:FFT,STFT和MFCC
- 【Python 标准库学习】安全哈希与摘要算法库 — hashlib
- FxCAD 实验三 实现对象的【属性】事件
- jquery环形3D立体旋转特效
- fetch 另一种ajax解决方案
- 01-Quartz2D
- phalapi做登录检测_1.4 PhalApi 2.x 接口响应与在线调试
- C++学习笔记——opencv2模块(图像处理)
- Windows 7 with SP1中英文原版MSDN下载汇总
- 2021-2022年数学建模资料汇总——建模软件篇
- uniapp好用项目和插件总结
- Photoshop CS2 视频教程-PS色板(转)
- js复制富文本/网页内容到黏贴板
- 国家档案局发布第13号令《机关档案管理规定》
- IDEA报错:Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found
热门文章
- 王元编辑口语资料-中国传统之节日
- C#中处理XML文档的方法
- jdk安装失败_jenkins全局工具jdk、maven安装
- JAVA SE 学习day_10:集合、聊天室练习最终版
- Xamarin Essentials教程发送邮件Email
- XamarinAndroid组件教程RecylerView动画组件使用动画(2)
- NULL和唯一约束UNIQUE的对应关系
- ​Highmaps网页图表教程之绘图区显示标签显示数据标签定位
- php 字节输出,PHP输出字节流带上BOM
- 继承redis spring_实例讲解Springboot以Repository方式整合Redis