VS2017呼叫MySQL 8.0(附上C++程式)
阿新 • • 發佈:2018-12-18
簡述
在網上找了一些解答,發現都有些小問題。
就自己寫一個吧
配置
配置很關鍵。
- 我的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.dll
到C:\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;
}