Home Database Mysql Tutorial Qt Creator 链接数据库mysql 的demo

Qt Creator 链接数据库mysql 的demo

Jun 07, 2016 pm 03:41 PM
creator demo mysql database Link

Qt Creator 链接数据库mysql 的demo 环境:ubuntu 10.10 Qt Creator mysql5 qt4 以及相关的lib(这个问题困扰了不少家伙,我想如果用ubnuntu,这个问题应该不大) 本文假设你已经配置好了的情况下; 用向导建立一个 基于对话框的qt gui application dialog 界

                                                                        Qt Creator  链接数据库mysql 的demo

 

环境:ubuntu 10.10    Qt Creator      mysql5      qt4   以及相关的lib(这个问题困扰了不少家伙,我想如果用ubnuntu,这个问题应该不大)

本文假设你已经配置好了的情况下;

 

 

用向导建立一个 基于对话框的qt gui application

 

 

dialog 界面设计包括:

      一个textEdit(QTextEdit),用来显示信息,两个button(QPushButton),一个叫做 connect,一个叫做 close。

 

下面是头文件dialog.h

 

#ifndef DIALOG_H
#define DIALOG_H

#include
#include "QtSql"
#include "QSqlDatabase"
namespace Ui {
    class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();

private:
    Ui::Dialog *ui;
    QSqlDatabase db ;   //数据库链接

private slots:
    void on_close_clicked();
    void on_connect_clicked();
};

#endif // DIALOG_H

 

 

 

下面是dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"
#include "QtSql"
#include "QString"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
    this->db= QSqlDatabase::addDatabase("QMYSQL");  //设置类型为QMYSQL 或者其它
    db.setDatabaseName("sgm");
    db.setHostName("127.0.0.1");
    db.setUserName("root");
    db.setPassword("123");
    ui->textEdit->setEnabled(false);
}

Dialog::~Dialog()
{
    delete ui;
}


void Dialog::on_connect_clicked()
{
    bool success = db.open() ;
    QString string  ;
    if(success)
    {
        string =QObject::tr("链接成功/t");

    }
    else
        {
            string =QObject::tr("失败/n");
        }
    ui->textEdit->setText(string);
}

void Dialog::on_close_clicked()
{
    db.close();
    QString string  ;
    string = QObject::tr("已经关闭/n");
    ui->textEdit->setText(string);
}

 

 


下面是main.cpp

#include
#include "dialog.h"

int main(int argc, char *argv[])
{

    //设置编码格式,解决qt 中文乱码
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
    QApplication a(argc, argv);
    Dialog w;
    w.show();

    return a.exec();
}

 

 

下面附上 pro文件:

#-------------------------------------------------
#
# Project created by QtCreator 2010-11-30T17:03:34
#
#-------------------------------------------------

QT       += core gui sql

TARGET = connect
TEMPLATE = app


SOURCES += main.cpp/
        dialog.cpp

HEADERS  += dialog.h

FORMS    += dialog.ui

 

 

注意QT一行要加上 sql

 


当然我愿意不厌其烦的把最后一个dialog.ui文件贴出来,这样你所需要做的就只是拷贝了(不过要是你自己写,我会很欣慰):

 

Qt Creator  链接数据库mysql 的demo

 

 

我做demo一定要足够简单,所以上面仅仅显示了链接成功字样。

 

附上dialog.ui:



 Dialog
 
 
  
    0
    0
    400
    300
  

 

 
   Dialog
 

 
  
   
     40
     200
     98
     27
   

  

  
    connect
  

 

 
  
   
     200
     200
     98
     27
   

  

  
    close
  

 

 
  
   
     60
     40
     211
     121
   

  

 

 

 
 
 

 

 

自己写完有个疑问:

事件一般都要有个connect吧,可是为什么这里没有connect呢?

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Two Point Museum: All Exhibits And Where To Find Them
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use MySQL backup and restore in PHP? How to use MySQL backup and restore in PHP? Jun 03, 2024 pm 12:19 PM

Backing up and restoring a MySQL database in PHP can be achieved by following these steps: Back up the database: Use the mysqldump command to dump the database into a SQL file. Restore database: Use the mysql command to restore the database from SQL files.

How to optimize MySQL query performance in PHP? How to optimize MySQL query performance in PHP? Jun 03, 2024 pm 08:11 PM

MySQL query performance can be optimized by building indexes that reduce lookup time from linear complexity to logarithmic complexity. Use PreparedStatements to prevent SQL injection and improve query performance. Limit query results and reduce the amount of data processed by the server. Optimize join queries, including using appropriate join types, creating indexes, and considering using subqueries. Analyze queries to identify bottlenecks; use caching to reduce database load; optimize PHP code to minimize overhead.

How to create a MySQL table using PHP? How to create a MySQL table using PHP? Jun 04, 2024 pm 01:57 PM

Creating a MySQL table using PHP requires the following steps: Connect to the database. Create the database if it does not exist. Select a database. Create table. Execute the query. Close the connection.

How to fix mysql_native_password not loaded errors on MySQL 8.4 How to fix mysql_native_password not loaded errors on MySQL 8.4 Dec 09, 2024 am 11:42 AM

One of the major changes introduced in MySQL 8.4 (the latest LTS release as of 2024) is that the "MySQL Native Password" plugin is no longer enabled by default. Further, MySQL 9.0 removes this plugin completely. This change affects PHP and other app

iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos Jul 18, 2024 am 05:48 AM

Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

Detailed tutorial on establishing a database connection using MySQLi in PHP Detailed tutorial on establishing a database connection using MySQLi in PHP Jun 04, 2024 pm 01:42 PM

How to use MySQLi to establish a database connection in PHP: Include MySQLi extension (require_once) Create connection function (functionconnect_to_db) Call connection function ($conn=connect_to_db()) Execute query ($result=$conn->query()) Close connection ( $conn->close())

How to handle database connection errors in PHP How to handle database connection errors in PHP Jun 05, 2024 pm 02:16 PM

To handle database connection errors in PHP, you can use the following steps: Use mysqli_connect_errno() to obtain the error code. Use mysqli_connect_error() to get the error message. By capturing and logging these error messages, database connection issues can be easily identified and resolved, ensuring the smooth running of your application.

How does Go WebSocket integrate with databases? How does Go WebSocket integrate with databases? Jun 05, 2024 pm 03:18 PM

How to integrate GoWebSocket with a database: Set up a database connection: Use the database/sql package to connect to the database. Store WebSocket messages to the database: Use the INSERT statement to insert the message into the database. Retrieve WebSocket messages from the database: Use the SELECT statement to retrieve messages from the database.

See all articles