CVI與MYSQL

[背景]

     和所有人一樣,只是需要用MYSQL去記錄測試的數據。

[剪輯1   用哪種數據庫]

      糾結了好久,首選了開源的MYSQL,然後開始用CVI連接,採用ODBC後,連接成功。不過,我的項目需要CVI可以新建數據庫,在找此的過程中,發現MYSQL可以直接用C進行控制,其本身也是C寫的。OK,那麼就來了,我想直接用C控制,不再調用WIN的ODBC。

[過程]

    1. 下載MYSQL-5.7.21-WIN32 (因爲我的CVI就是32位的)

           https://dev.mysql.com/downloads/file/?id=474495

    2. 解壓後,按照MYSQL的安裝方法(參見 http://blog.csdn.net/fzh2712/article/details/79443686 )進行安裝,並測試安裝成功。要修改ROOT的默認密碼,切記!!!(能用命令行讀取表中數據即可)。

    就讀取MYSQL數據庫中的USER表數據。

    

    3. 構建CVI的MYSQL調用環境

       3.1) 將MYSQL的LIB庫中,libmysql.dll、libmysql.lib拷至windows文件夾system32\、SysWOW64\這兩個下面。

       3.2)如果要調用MYSQL,就需要按CVI調用動態鏈接庫的方式,進行調用即可。


貼上測試的代碼:



#include <stdio.h>

//#include "cvi_db.h"
#include "mysql.h"

void printResult(MYSQL *mysql);

void main()
{					   
	MYSQL mysql;	   
	MYSQL_RES * result;
	MYSQL_ROW row;  //char** 二維數組,存放一條條記錄
	
	mysql_init(&mysql);
	mysql_real_connect(&mysql,"localhost","root","123","mysql",3306,NULL,0);
	mysql_query(&mysql,"select host,user from user");
	
	result = mysql_store_result(&mysql);
	while (row = mysql_fetch_row(result))
    {
        printf("%s  ", row[0]);
        printf("%s  \n", row[1]);
    }
    //釋放結果集
    mysql_free_result(result);

	//printResult(&mysql);
	mysql_close(&mysql);    
	return ;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章