当前位置: 首页 > news >正文

天津网站seo设计微网站建设教程视频

天津网站seo设计,微网站建设教程视频,手机网站可以做百度商桥吗,长春世邦做网站本篇总结一下一下Ubuntu下QT操作Mysql数据库。 目录 1. 启动Mysql数据库服务器 2.查看QT支持的数据库驱动 3.连接数据库 4. 增加表和记录 5. 删除记录 6. 修改记录 7. 查询记录 8.完整代码和运行效果 常见错误总结#xff1a; (1) 数据库服务没启动报错信息 (2) 有…本篇总结一下一下Ubuntu下QT操作Mysql数据库。 目录 1. 启动Mysql数据库服务器 2.查看QT支持的数据库驱动 3.连接数据库 4. 增加表和记录 5. 删除记录 6. 修改记录 7. 查询记录 8.完整代码和运行效果 常见错误总结 (1) 数据库服务没启动报错信息 (2) 有QMYSQL驱动连接数据缺失败 1. 启动Mysql数据库服务器 // 启动 sudo /etc/init.d/mysql start // 重启 sudo /etc/init.d/mysql restart // 关闭 sudo /etc/init.d/mysql stop 2.查看QT支持的数据库驱动 Qt SQL模块是Qt提供的一个访问数据库的接口支持多种平台下使用不同类型的数据库在这个过程中数据库驱动起到了很大的作用它负责与不同的数据库进行通信有了数据库驱动我们才能使用不同类型的数据库。 #include QtSql/QSqlDatabase// 查看支持的数据库驱动 qDebug() QSqlDatabase::drivers();3.连接数据库 QSqlDatabase db; if(QSqlDatabase::contains(qt_sql_default_connection)) {db QSqlDatabase::database(qt_sql_default_connection); } else {// 创建一个数据库连接指定数据库驱动db QSqlDatabase::addDatabase(QMYSQL); }// 数据库连接需要设置的信息 db.setHostName(127.0.0.1); // 数据库服务器IP我用的是本地电脑 db.setDatabaseName(TestDB);// 数据库名 db.setUserName(root);// 用户名 db.setPassword(mysql);// 密码 db.setPort(3306);// 端口号// 连接数据库 bool ok db.open();if (ok) {qDebug() 连接成功; } else {qDebug() 连接失败; } 4. 增加表和记录 // 实例化QSqlQuery用于执行sql语句 QSqlQuery query(m_db); // 创建一个表 query.exec(create table newUser (id int primary key, username varchar(20))); QSqlQuery query(m_db); query.exec(INSERT INTO newUser (id, username) VALUES (1, Hello));int userid 2; QString name 张三; query.prepare(INSERT INTO newUser (id, username) VALUES (:id, :username)); query.bindValue(:id, userid); query.bindValue(:username, name); query.exec();query.exec(INSERT INTO newUser (id, username) VALUES (3, Andy)); query.exec(INSERT INTO newUser (id, username) VALUES (4, 李四)); 5. 删除记录 QSqlQuery query(m_db); query.prepare(DELETE FROM newUser WHERE username:username); query.bindValue(:username, 张三); query.exec(); 6. 修改记录 QSqlQuery query(m_db); query.prepare(update newUser set username:username WHERE id:id); query.bindValue(:id, 1); query.bindValue(:username, World); query.exec(); 7. 查询记录 // 查询所有QString sql SELECT id, username FROM newUser ; // 组装sql语句QSqlQuery query(m_db); // [1] 传入数据库连接query.exec(sql); // [2] 执行sql语句while (query.next()) { // [3] 遍历查询结果qDebug() QString(Id: %1, Username: %2).arg(query.value(id).toInt()).arg(query.value(username).toString());}// 查询指定记录QString username 李四;sql SELECT * FROM newUser WHERE username username ;query.exec(sql); // [2] 执行sql语句while (query.next()) { // [3] 遍历查询结果qDebug() QString(Id: %1, Username: %2).arg(query.value(id).toInt()).arg(query.value(username).toString());}// 绑定数据查询username 张三;sql SELECT * FROM newUser WHERE username:username;query.prepare(sql); // [2] 使用名称绑定的方式解析 SQL 语句query.bindValue(:username, username); // [3] 把占位符替换为传入的参数query.exec(); // [4] 执行数据库操作while (query.next()) { // [5] 遍历查询结果qDebug() QString(Id: %1, Username: %2).arg(query.value(id).toInt()).arg(query.value(username).toString());} 8.完整代码和运行效果 qt_mysql.pro #------------------------------------------------- # # Project created by QtCreator 2023-09-05T23:12:20 # #-------------------------------------------------QT core gui QT sqlgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsTARGET qt_mysql TEMPLATE app# The following define makes your compiler emit warnings if you use # any feature of Qt which as been marked as deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the # deprecated API in order to know how to port your code away from it. DEFINES QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if you use deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES QT_DISABLE_DEPRECATED_BEFORE0x060000 # disables all the APIs deprecated before Qt 6.0.0SOURCES \main.cpp \mainwindow.cppHEADERS \mainwindow.hFORMS \mainwindow.uimainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include QMainWindow #include QtSql/QSqlDatabase #include QDebugnamespace Ui { class MainWindow; }class MainWindow : public QMainWindow {Q_OBJECTpublic:explicit MainWindow(QWidget *parent 0);~MainWindow();private slots:void on_pushButton_clicked();void on_pushButton_2_clicked();void on_pushButton_3_clicked();void on_pushButton_4_clicked();void on_pushButton_5_clicked();void on_pushButton_6_clicked();void on_pushButton_7_clicked();void on_pushButton_clear_table_clicked();private:void createConnectionByName(const QString connectionName); //使用自定义 connectionName 创建连接QSqlDatabase getConnectionByName(const QString connectionName); // 使用自定义 connectionName 获取连接private:Ui::MainWindow *ui;QSqlDatabase m_db; };#endif // MAINWINDOW_Hmainwindow.cpp #include mainwindow.h #include ui_mainwindow.h #include QSqlQuery/* Qt SQL模块是Qt提供的一个访问数据库的接口支持多种平台下使用不同类型的数据库在这个过程中 数据库驱动起到了很大的作用它负责与不同的数据库进行通信有了数据库驱动我们才能使用不同类型的数据库。*/MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui-setupUi(this);// 创建名为 firstMysqlConnect 的数据库连接createConnectionByName(firstMysqlConnect); }MainWindow::~MainWindow() {delete ui; }void MainWindow::on_pushButton_clicked() {// 查看支持的数据库驱动qDebug() QSqlDatabase::drivers(); }//使用自定义 connectionName 创建连接 void MainWindow::createConnectionByName(const QString connectionName){m_db QSqlDatabase::addDatabase(QMYSQL, connectionName);// 数据库连接需要设置的信息m_db.setHostName(127.0.0.1); // 数据库服务器IP我用的是本地电脑m_db.setDatabaseName(TestDB);// 数据库名m_db.setUserName(root);// 用户名m_db.setPassword(mysql);// 密码m_db.setPort(3306);// 端口号// 连接数据库判断bool ok m_db.open();if (ok){qDebug() 连接成功;} else {qDebug() 连接失败;}}// 使用自定义 connectionName 获取连接 QSqlDatabase MainWindow::getConnectionByName(const QString connectionName) {// 获取数据库连接return QSqlDatabase::database(connectionName); }void MainWindow::on_pushButton_2_clicked() {QSqlDatabase db;if(QSqlDatabase::contains(qt_sql_default_connection)) {db QSqlDatabase::database(qt_sql_default_connection);}else {// 创建一个数据库连接指定数据库驱动db QSqlDatabase::addDatabase(QMYSQL);}// 数据库连接需要设置的信息db.setHostName(127.0.0.1); // 数据库服务器IP我用的是本地电脑db.setDatabaseName(TestDB);// 数据库名db.setUserName(root);// 用户名db.setPassword(mysql);// 密码db.setPort(3306);// 端口号// 连接数据库bool ok db.open();if (ok) {qDebug() 连接成功;}else {qDebug() 连接失败;} }void MainWindow::on_pushButton_3_clicked() {// 实例化QSqlQuery用于执行sql语句QSqlQuery query(m_db);// 创建一个表query.exec(create table newUser (id int primary key, username varchar(20))); }void MainWindow::on_pushButton_4_clicked() {QSqlQuery query(m_db);query.exec(INSERT INTO newUser (id, username) VALUES (1, Hello));int userid 2;QString name 张三;query.prepare(INSERT INTO newUser (id, username) VALUES (:id, :username));query.bindValue(:id, userid);query.bindValue(:username, name);query.exec();query.exec(INSERT INTO newUser (id, username) VALUES (3, Andy));query.exec(INSERT INTO newUser (id, username) VALUES (4, 李四)); }void MainWindow::on_pushButton_5_clicked() {QSqlQuery query(m_db);query.prepare(DELETE FROM newUser WHERE username:username);query.bindValue(:username, 张三);query.exec(); }void MainWindow::on_pushButton_6_clicked() {QSqlQuery query(m_db);query.prepare(update newUser set username:username WHERE id:id);query.bindValue(:id, 1);query.bindValue(:username, World);query.exec(); }void MainWindow::on_pushButton_7_clicked() {// 查询所有QString sql SELECT id, username FROM newUser ; // 组装sql语句QSqlQuery query(m_db); // [1] 传入数据库连接query.exec(sql); // [2] 执行sql语句while (query.next()) { // [3] 遍历查询结果qDebug() QString(Id: %1, Username: %2).arg(query.value(id).toInt()).arg(query.value(username).toString());}// 查询指定记录QString username 李四;sql SELECT * FROM newUser WHERE username username ;query.exec(sql); // [2] 执行sql语句while (query.next()) { // [3] 遍历查询结果qDebug() QString(Id: %1, Username: %2).arg(query.value(id).toInt()).arg(query.value(username).toString());}// 绑定数据查询username 张三;sql SELECT * FROM newUser WHERE username:username;query.prepare(sql); // [2] 使用名称绑定的方式解析 SQL 语句query.bindValue(:username, username); // [3] 把占位符替换为传入的参数query.exec(); // [4] 执行数据库操作while (query.next()) { // [5] 遍历查询结果qDebug() QString(Id: %1, Username: %2).arg(query.value(id).toInt()).arg(query.value(username).toString());} }void MainWindow::on_pushButton_clear_table_clicked() {QSqlQuery query(m_db);query.exec(DELETE FROM newUser); }main.cpp #include mainwindow.h #include QApplicationint main(int argc, char *argv[]) {QApplication a(argc, argv);MainWindow w;w.show();return a.exec(); }mainwindow.ui ?xml version1.0 encodingUTF-8? ui version4.0classMainWindow/classwidget classQMainWindow nameMainWindowproperty namegeometryrectx0/xy0/ywidth693/widthheight412/height/rect/propertyproperty namewindowTitlestringMainWindow/string/propertywidget classQWidget namecentralWidgetlayout classQGridLayout namegridLayoutitem row0 column0widget classQPushButton namepushButtonproperty nametextstring查看数据库驱动/string/property/widget/itemitem row0 column1widget classQPushButton namepushButton_2property nametextstring连接mysql数据库/string/property/widget/itemitem row1 column0widget classQPushButton namepushButton_3property nametextstring创建表/string/property/widget/itemitem row1 column1widget classQPushButton namepushButton_4property nametextstring插入记录/string/property/widget/itemitem row2 column0widget classQPushButton namepushButton_5property nametextstring删除记录/string/property/widget/itemitem row2 column1widget classQPushButton namepushButton_6property nametextstring修改记录/string/property/widget/itemitem row3 column0widget classQPushButton namepushButton_7property nametextstring查询记录/string/property/widget/itemitem row3 column1widget classQPushButton namepushButton_clear_tableproperty nametextstring删除表中所有数据/string/property/widget/item/layout/widgetwidget classQMenuBar namemenuBarproperty namegeometryrectx0/xy0/ywidth693/widthheight39/height/rect/property/widgetwidget classQToolBar namemainToolBarattribute nametoolBarAreaenumTopToolBarArea/enum/attributeattribute nametoolBarBreakboolfalse/bool/attribute/widgetwidget classQStatusBar namestatusBar//widgetlayoutdefault spacing6 margin11/resources/connections/ /ui常见错误总结 (1) 数据库服务没启动报错信息 (2) 有QMYSQL驱动连接数据缺失败 原因Qt对Mysql进行了封装库名为libqsqlmysql.so但是其还需要调用Mysql的客户端库才能真正连接数据库如下可以看到libqsqlmysql.so需要依赖libmysqlclient.so.18。
http://www.hkea.cn/news/14383311/

相关文章:

  • 怎么做网站视频教程网站托管服务适合用于哪种类型的网站
  • 东莞网站建设最优html网页制作参考文献
  • 毕业设计某网站开发的开题报告范文南联网站建设哪家好
  • 专业深圳网站定制开发建网站学什么软件
  • 电商网站建设wordpress模拟接口
  • 给学校建网站那个系统好杭州房价暴跌已开始
  • 网站开发 税率小说推广赚钱
  • 自助建站系统介绍网站由谁备案
  • 网站建设开发定制如何在平台上推广产品
  • 有什么设计网站推荐个人免费建站的网站
  • 如何做拼车网站app无锡建设管理服务中心
  • 第三方做农产品价格数据的网站app网站建设手机APP软件开发
  • 安陆网站制作公司wordpress feedsky
  • 自己做网站 搜索功能开发wordpress几种系统
  • 深圳地铁建设集团网站手机怎么查看网站代码实现的
  • 江苏住房建设厅网站福州网站制作系统
  • 网站建设 青岛网站配置域名解析
  • mip网站模板wordpress版本
  • 网站 编程语言网站建设高端网页设计
  • 闵行建设机械网站好游快游app官方网站下载
  • 世纪购网站开发招聘丰联汽配网站建设成本
  • 黑龙江省华龙建设有限公司网站江阴高端网站建设
  • 怎么查网站到期时间查询网页制作 基础教程
  • 做网站换服务器怎么整网站建设 响应式 北京
  • 如何推广网站?网站建设设计服务公司
  • 大型门户网站是这样炼成的源代码wordpress添加喜欢or分享按钮
  • 网站默认图片素材网站服务器空间选择
  • 邢台专业网站建设源码吸引客流的25个技巧
  • 博物馆 网站 建设教你如何做网站
  • 杭州h5模板建站葫芦岛市网站建设