程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> c++使用mysql的api連接相關問題

c++使用mysql的api連接相關問題

編輯:MySQL綜合教程

c++使用mysql的api連接相關問題


記錄一下自己使用中的相關問題,方便有同樣問題的同學解決。

關於在VS中的各種配置,看這裡,不過需要注意一下,我現在用的mysql版本是5.6的,已經沒有【MySQL Server \lib\opt】這個路徑了,將這一項設置到【MySQL Server \lib】即可

如果出現如下錯誤:
1>main.obj : error LNK2019: 無法解析的外部符號 _mysql_server_init@12,該符號在函數 _main 中被引用
1>main.obj : error LNK2019: 無法解析的外部符號 _mysql_init@4,該符號在函數 _main 中被引用
1>main.obj : error LNK2019: 無法解析的外部符號 _mysql_real_connect@32,該符號在函數 _main 中被引用
1>main.obj : error LNK2019: 無法解析的外部符號 _mysql_options@12,該符號在函數 _main 中被引用

因為按照第一步來的時候,建立的是win32項目,而現在系統、mysql使用的就均是x64的,改成x64即可,操作步驟如下:
.項目->屬性->配置管理器
活動解決方案平台,下拉選新建,出現一個新的對號框,在鍵入選擇新平台中選擇X64
學習自這裡

之後可以寫一個簡單的c程序測試一下是否成功
#include "winsock.h"  
#include "iostream"  
#include "mysql.h"  
#pragma comment(lib, "ws2_32.lib")  
#pragma comment(lib, "libmysql.lib")  
using namespace std;  
      
void main()  
{  
    MYSQL mydata;  
      
    mysql_library_init(0,NULL,NULL);//初始化MySQL C API庫  
    mysql_init(&mydata);//初始化mydata的數據結構,mydata是MYSQL對象  
    mysql_options(&mydata,MYSQL_SET_CHARSET_NAME,"gbk");//連接選項:添加GBK字符集支持  
      
    //連接函數  
    if(mysql_real_connect(&mydata,"localhost","root","1234","demo", 3306, 0, 0) != NULL)  
        cout<<"database connection OK!"<<endl;  
}  

這裡注意一下,mysql_real_connect函數中的幾個參數(&mydata,"localhost","root","1234","demo", 3306, 0, 0),一般就需要改2,3,4,5幾個參數即可,分別為數據庫位置,用戶名,密碼,待連接的數據庫名稱

如果代碼中出現#include "stdafx.h"報錯:ERROR,無法打開源文件...,參見這裡
主要是由於這個頭文件屬於預編譯頭文件,如果在創建項目時候沒有告訴VS相關信息,當然不認識這是什麼東西了。

#error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL
c++ fatal error C1083: 無法打開預編譯頭文件:“.\Debug\router.pch”

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved