Heim > Datenbank > MySQL-Tutorial > So verbinden und verwenden Sie eine MySQL-Datenbank in C++

So verbinden und verwenden Sie eine MySQL-Datenbank in C++

醉折花枝作酒筹
Freigeben: 2021-07-02 09:28:29
nach vorne
5912 Leute haben es durchsucht

In C++ können Sie auch eine Datenbank verwenden. Heute erfahren Sie, wie Sie die MySQL-Datenbank in C++ anbinden und nutzen können.

So verbinden und verwenden Sie eine MySQL-Datenbank in C++

1. C++ mit der MySQL-Datenbank verbinden

Erstellen Sie zunächst ein neues C++-Projekt in VS, klicken Sie mit der rechten Maustaste auf den Projektnamen und wählen Sie Eigenschaften.

So verbinden und verwenden Sie eine MySQL-Datenbank in C++

Plattformauswahl auswählen

So verbinden und verwenden Sie eine MySQL-Datenbank in C++

Konfigurationsmanager auswählen

So verbinden und verwenden Sie eine MySQL-Datenbank in C++

Neu auswählen

So verbinden und verwenden Sie eine MySQL-Datenbank in C++

X64 im Dropdown-Menü auswählen. OK

So verbinden und verwenden Sie eine MySQL-Datenbank in C++

/C ++ -> Allgemein- > Zusätzliches Include-Verzeichnis, C:ProgrammeMySQLMySQL Server 5.5include hinzufügen (wählen Sie entsprechend Ihrem eigenen Installationsverzeichnis)

So verbinden und verwenden Sie eine MySQL-Datenbank in C++

Wählen Sie das Connector-> Zusätzliche Bibliotheksverzeichnis. Fügen Sie C:Program FilesMySQLMySQL Server 5.5lib hinzu (wählen Sie entsprechend Ihrem eigenen Installationsverzeichnis)

So verbinden und verwenden Sie eine MySQL-Datenbank in C++

Connector auswählen -> Fügen Sie C:ProgrammeMySQLMySQL Server 5.5liblibmysql.lib hinzu (wählen Sie es entsprechend Ihrem eigenen Installationsverzeichnis aus)

So verbinden und verwenden Sie eine MySQL-Datenbank in C++

Kopieren Sie abschließend die dynamische Linkbibliothek libmysql.dll in das X64-Generierungsverzeichnis des Projekts. Die dynamische Linkbibliotheksdatei befindet sich im Verzeichnis C:ProgrammeMySQLMySQL Server 5.5lib.

So verbinden und verwenden Sie eine MySQL-Datenbank in C++

2. Allgemeine MySQL-API-Funktionen

mysql_affected_rows() gibt die Anzahl der Zeilen zurück, die von der letzten UPDATE-, DELETE- oder INSERT-Abfrage betroffen sind.

mysql_close() Schließt eine Serververbindung.

mysql_connect() Stellen Sie eine Verbindung zu einem MySQL-Server her. Diese Funktion ist veraltet; verwenden Sie stattdessen mysql_real_connect().

mysql_change_user() ändert den Benutzer und die Datenbank bei einer offenen Verbindung.

mysql_create_db() erstellt eine Datenbank. Diese Funktion wird nicht empfohlen; verwenden Sie stattdessen den SQL-Befehl CREATE DATABASE.

mysql_data_seek() sucht nach einer beliebigen Zeile in einer Abfrageergebnismenge.

mysql_debug() führt einen DBUG_PUSH mit der angegebenen Zeichenfolge aus.

mysql_drop_db() Löscht eine Datenbank. Diese Funktion wird nicht empfohlen; verwenden Sie stattdessen den SQL-Befehl DROP DATABASE.

mysql_dump_debug_info() weist den Server an, Debugging-Informationen in die Protokolldatei zu schreiben.

mysql_eof() Ermittelt, ob die letzte Zeile einer Ergebnismenge gelesen wurde. Diese Funktion ist veraltet; stattdessen kann mysql_errno() oder mysql_error() verwendet werden.

mysql_errno() gibt die Fehlernummer der zuletzt aufgerufenen MySQL-Funktion zurück.

mysql_error() gibt die Fehlermeldung der zuletzt aufgerufenen MySQL-Funktion zurück.

mysql_escape_string() Escape-Sonderzeichen, die in Zeichenfolgen in SQL-Anweisungen verwendet werden.

mysql_fetch_field() gibt den Typ des nächsten Tabellenfelds zurück.

mysql_fetch_field_direct() gibt den Typ eines Tabellenfelds zurück und gibt eine Feldnummer an.

mysql_fetch_fields() gibt ein Array aller Feldstrukturen zurück.

mysql_fetch_lengths() gibt die Länge aller Spalten in der aktuellen Zeile zurück.

mysql_fetch_row() ruft die nächste Zeile aus der Ergebnismenge ab.

mysql_field_seek() Platzieren Sie den Spaltencursor auf einer angegebenen Spalte.

mysql_field_count() gibt die Anzahl der Ergebnisspalten der letzten Abfrage zurück.

mysql_field_tell() gibt die Position des Feldcursors zurück, der für das letzte mysql_fetch_field() verwendet wurde.

mysql_free_result() gibt den von einer Ergebnismenge verwendeten Speicher frei.

mysql_get_client_info() gibt Informationen zur Clientversion zurück.

mysql_get_host_info() gibt einen String zurück, der die Verbindung beschreibt.

mysql_get_proto_info() gibt die von der Verbindung verwendete Protokollversion zurück.

mysql_get_server_info() gibt die Serverversionsnummer zurück.

mysql_info() gibt Informationen über die zuletzt ausgeführte Abfrage zurück.

mysql_init() ruft eine MYSQL-Struktur ab oder initialisiert sie.

mysql_insert_id() gibt die von der vorherigen Abfrage generierte ID für eine AUTO_INCREMENT-Spalte zurück.

mysql_kill() Tötet einen bestimmten Thread.

mysql_list_dbs() gibt Datenbanknamen zurück, die einem einfachen regulären Ausdruck entsprechen.

mysql_list_fields() gibt Spaltennamen zurück, die einem einfachen regulären Ausdruck entsprechen.

mysql_list_processes() gibt eine Tabelle für den aktuellen Server-Thread zurück.

mysql_list_tables() gibt Tabellennamen zurück, die einem einfachen regulären Ausdruck entsprechen.

mysql_num_fields() gibt die Anzahl der Spalten in einer Ergebnismenge zurück.

mysql_num_rows() gibt die Anzahl der Zeilen in einer Ergebnismenge zurück.

mysql_options() legt die Verbindungsoptionen für mysql_connect() fest.

mysql_ping() Prüft, ob die Verbindung zum Server funktioniert und stellt bei Bedarf eine erneute Verbindung her.

mysql_query() Führt eine SQL-Abfrage aus, die als nullterminierte Zeichenfolge angegeben ist.

mysql_real_connect() Stellen Sie eine Verbindung zu einem MySQL-Server her.

mysql_real_query() Führt eine SQL-Abfrage aus, die als Zeichenfolge mit Anzahl angegeben ist.

mysql_reload() weist den Server an, die Autorisierungstabelle neu zu laden.

mysql_row_seek() sucht nach einer Zeile im Ergebnissatz und verwendet dabei den von mysql_row_tell() zurückgegebenen Wert.

mysql_row_tell() gibt die Position des Zeilencursors zurück.

mysql_select_db() stellt eine Verbindung zu einer Datenbank her.

mysql_shutdown() Fahren Sie den Datenbankserver herunter.

mysql_stat() Gibt den Serverstatus als String zurück.

mysql_store_result() ruft einen vollständigen Ergebnissatz an den Client ab.

mysql_thread_id() gibt die ID des aktuellen Threads zurück.

mysql_use_result() initialisiert den Abruf einer Ergebnismenge Zeile für Zeile.

3. C++ verwendet eine MySQL-Datenbank

Beispielprogramm, verstehen Sie es selbst, wenn Sie die enthaltene API nicht verstehen, einfach Google

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<windows.h>
#include<winsock.h>
#include<mysql.h>


using namespace std;
#pragma comment(lib,"libmysql.lib")
#pragma comment(lib,"wsock32.lib")
MYSQL *mysql = new MYSQL; //mysql连接  
MYSQL_FIELD *fd;    //字段列数组  
char field[32][32];    //存字段名二维数组  
MYSQL_RES *res; //这个结构代表返回行的一个查询结果集  
MYSQL_ROW column; //一个行数据的类型安全(type-safe)的表示,表示数据行的列  
char query[150]; //查询语句  

bool ConnectDatabase();
bool QueryDatabase1();
//bool QueryDatabase2();
int main()
{
    ConnectDatabase();
    QueryDatabase1();
    //QueryDatabase2();
    system("pause");
    return 0;
}


bool ConnectDatabase()
{
    //初始化mysql  
    mysql_init(mysql);
    //返回false则连接失败,返回true则连接成功  
    if (!(mysql_real_connect(mysql, "localhost", "root", "123456", "company", 0, NULL, 0))) //中间分别是主机,用户名,密码,数据库名,端口号(可以写默认0或者3306等),可以先写成参数再传进去  
    {
        printf("Error connecting to database:%s\n", mysql_error(mysql));
        return false;
    }
    else
    {
        printf("Connected...\n");
        return true;
    }
    return true;
}

bool QueryDatabase1()
{
    sprintf_s(query, "select * from t_dept"); //执行查询语句,这里是查询所有,user是表名,不用加引号,用strcpy也可以  
    mysql_query(mysql, "set names gbk"); //设置编码格式(SET NAMES GBK也行),否则cmd下中文乱码  
    //返回0 查询成功,返回1查询失败  
    if (mysql_query(mysql, query))    //执行SQL语句
    {
        printf("Query failed (%s)\n", mysql_error(mysql));
        return false;
    }
    else
    {
        printf("query success\n");
    }
    //获取结果集  
    if (!(res = mysql_store_result(mysql)))   //获得sql语句结束后返回的结果集  
    {
        printf("Couldn't get result from %s\n", mysql_error(mysql));
        return false;
    }

    //打印数据行数  
    printf("number of dataline returned: %d\n", mysql_affected_rows(mysql));

    //获取字段的信息  
    char *str_field[32];  //定义一个字符串数组存储字段信息  
    for (int i = 0; iname;
    }
    for (int i = 0; i<p>Verwandte Lernempfehlungen: <a href="https://www.php.cn/course/list/51.html" target="_blank">MySQL-Tutorial</a>(Video)</p></mysql.h></winsock.h></windows.h></iostream>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo verbinden und verwenden Sie eine MySQL-Datenbank in C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage