1. 程式人生 > >VS2017呼叫MySQL 8.0(附上C++程式)

VS2017呼叫MySQL 8.0(附上C++程式)

簡述

在網上找了一些解答,發現都有些小問題。

就自己寫一個吧

配置

配置很關鍵。

  • 我的MySQL安裝目錄為 C:\Program Files\MySQL

在這裡插入圖片描述

  • 2的部分寫的地址: C:\Program Files\MySQL\MySQL Server 8.0\include
  • 3的部分寫的地址: C:\Program Files\MySQL\MySQL Server 8.0\lib

配置連結器:

在這裡插入圖片描述

  • 2中寫的內容為: libmysql.lib

最後一步: 移動這個libmysql.dllC:\Windows\System32 目錄下

程式碼

注意!!上面的這一步非常重要!!

  • pwd:為密碼
  • root:賬號
  • 3306:登陸埠號
  • jxgl:是我資料庫中的一個database
  • 執行的命令中的student是我這個表
#include <stdio.h>
#include <mysql.h> // 如果配置ok就可以直接包含這個檔案
int main(void)
{
	MYSQL mysql;    //一個數據庫結構體
	MYSQL_RES* res; //一個結果集結構體
	MYSQL_ROW row;  //char** 二維陣列,存放一條條記錄
					//初始化資料庫
	mysql_init(&mysql);
	//設定編碼方式
	mysql_options(&
mysql, MYSQL_SET_CHARSET_NAME, "gbk"); //連線資料庫 //判斷如果連線失敗就輸出連線失敗。 if (mysql_real_connect(&mysql, "localhost", "root", "pwd", "jxgl", 3306, NULL, 0) == NULL) printf("連線失敗!\\n"); //查詢資料 mysql_query(&mysql, "select * from student"); //獲取結果集 res = mysql_store_result(&mysql); //給ROW賦值,判斷ROW是否為空,不為空就列印資料。
while (row = mysql_fetch_row(res)) { printf("%s ", row[0]);//列印ID printf("%s ", row[1]);//列印姓名 printf("%s ", row[2]); printf("%s \n", row[3]); } //釋放結果集 mysql_free_result(res); //關閉資料庫 mysql_close(&mysql); //停留等待 system("pause"); return 0; }