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

免费三网合一网站系统网站制作苏州企业

免费三网合一网站系统,网站制作苏州企业,如何做打码网站,wordpress登录页logo修改本篇总结一下一下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.w-s-a.com/news/231236/

相关文章:

  • 寻花问柳专注做一家男人爱的网站北京展台设计制作
  • 中卫网站设计做自己的卡盟网站
  • 广州网站推广自助做网站人家直接百度能搜到的
  • 电子商务网站建设目标及利益分析安徽建设厅网站施
  • 制作网站策划书网站建设公司的性质
  • 哪个网站可以做免费宣传简单的网页设计网站
  • 福州专业网站制作公司金湖建设局网站
  • 好的移动端网站模板下载兰州线上广告推广
  • 宁波高端建站深圳品牌营销策划机构
  • 权威网站优化价格建设厅科技中心网站首页
  • 保定模板建站软件腾讯云做淘客网站
  • 单位建设一个网站的费用正规刷手机单做任务网站
  • 北京定制网站价格开网店怎么卖到外国
  • 做网站 后端是谁来做的工程建设指挥部网站
  • wordpress建站 云打印昆明 网站设计
  • 太原网站建设设计网站建设策划书(建设前的市场分析)
  • 哪里有制作网站电商新手入门知识
  • 制作网站的后台文昌网站建设 myvodo
  • 网站 购买移动网站制作
  • 南京网站网站建设学校英山做网站多少钱
  • 珠海网站建设网如何注册公司公众号
  • 手机网站页面制作网站怎么做快照
  • asp网站怎么仿站推广软件下载平台
  • 电子商务网站建设期末试题08答案互联网怎么做
  • 规范门户网站的建设和管理办法微信网站开发公司电话
  • 免费行情网站凡客的官网
  • 做网站运营的女生多吗海淀企业网站建设
  • 网站运行环境配置网站建设个一般需要花费多少钱
  • 广西平台网站建设报价wordpress 免费 企业 主题
  • 四川省建设厅职称查询网站辽宁省住房和城乡建设部网站