c 对一个mysql数据库进行操作_C/C++对MySQL操作
昨天晚上在看C/C++對數據庫的操作,猛然間覺得十分親切,因為其中很多函數都和PHP中對MySQL操作相同,這是才想起PHP是C演化而來的。經過一番搗騰,終于完成了一個簡單的程序,但是仍然存在著一個嚴重的問題,就是從數據庫中得到的結果在屏幕上顯示的是亂碼,很讓人煩。還望高手們賜教!
1.在機器上裝上MySQL ,假設安裝在 C:/MySQL/中;
2.這里我們用VC6.0來編寫C++程序,但是這個之前要對VC6.0做一些設置,也就是把MySQL目錄下的include和lib目錄包含到VC6.0的directory選項中。具體的做法是在VC6.0中 tools(工具)>>option(選項)>>directories(目錄)這個設置中把 include files 添加一個路徑 C:/MySQL/include ,再給library files 添加一個路徑C:/MySQL/lib/opt ,這樣設置以后你就能夠在程序中直接include對數據庫操作的相關頭文件了。
3.現在可以開始寫程序了,代碼如下:
//===========================================================//
//??????????????? TestMySQL.cpp
// Author : ASpire
// Discrb : for testing C++ in operating mysql
// Time?? : 2010-3-18
//===========================================================//
/* include header about mysql */
#include "winsock2.h"
#include "mysql.h"
#include
#define CONN_HOST "localhost"
#define CONN_USER "user"
#define CONN_PWD "password"
#define CONN_DB "luntan"
//----------------------------------------------------------//
MYSQL mysql;
void exiterr(int exitcode)
{
fprintf(stderr,"%s",mysql_error(&mysql));
exit(exitcode);
}
int mysql_test()
{
MYSQL_RES *res;
MYSQL_ROW row;
unsigned int i = 0;
/* init mysql handler */
if(!mysql_init(&mysql))
{
exiterr(-1);
}
/* connect to mysql */
if(!mysql_real_connect(&mysql,CONN_HOST,CONN_USER,CONN_PWD,NULL,MYSQL_PORT,NULL,0))
{
exiterr(-2);
}
/* select db */
if(mysql_select_db(&mysql,CONN_DB))
{
exiterr(-3);
}
/* set db charset */
char *sqlcharset = "SET NAMES 'GBK'";
if(mysql_query(&mysql,sqlcharset))
{
exiterr(-6);
}
/* execute a query */
char *sqlstr = "SELECT * FROM forum_auth";
if(mysql_query(&mysql,sqlstr))
{
exiterr(-4);
}
/* store result */
if(!(res = mysql_store_result(&mysql)))
{
exiterr(-5);
}
/* fetch row and get the result */
while(row = mysql_fetch_row(res))
{
for(i=0;i
{
printf("%s",row);
}
printf("/t");
}
/* free result */
mysql_free_result(res);
/* close mysql connection */
mysql_close(&mysql);
return 0;
}
//-----------------------------------------------------------//
int main()
{
mysql_test();
return 0;
}
//-----------------------------------------------------------//
總結
以上是生活随笔為你收集整理的c 对一个mysql数据库进行操作_C/C++对MySQL操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡还错卡了怎么办
- 下一篇: python中readlines函数例子