真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言怎么設(shè)置mysql,C語言怎么設(shè)置字體大小

C語言怎樣連接mysql數(shù)據(jù)庫

mysql是有c語言接口的,安裝相應(yīng)庫后就可以鏈接了,一般連接mysql的函數(shù)是mysql_connect或者mysql_real_connect(大概就是這么拼的吧。。。)可以使用mysql_query執(zhí)行sql語句

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供秦都企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計、網(wǎng)站制作、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為秦都眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

如何用C語言連接MYSQL數(shù)據(jù)庫

1、配置ODBC數(shù)據(jù)源。

2、使用SQL函數(shù)進(jìn)行連接。

對于1、配置數(shù)據(jù)源,配置完以后就可以編程操作數(shù)據(jù)庫了。

對于2、使用SQL函數(shù)進(jìn)行連接,參考代碼如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

#includewindows.h

#includesql.h

#includesqlext.h

void main()

{

HENV henv; //環(huán)境句柄

HDBC hdbc; //數(shù)據(jù)源句柄

HSTMT hstmt; //執(zhí)行語句句柄

unsigned char datasource[]="數(shù)據(jù)源名稱"; //即源中設(shè)置的源名稱

unsigned char user[]= "用戶名"; //數(shù)據(jù)庫的帳戶名

unsigned char pwd[]= "密碼"; //數(shù)據(jù)庫的密碼

unsigned char search[]="select xm from stu where xh=0";

SQLRETURN retcode; //記錄各SQL函數(shù)的返回情況

// 分配環(huán)境句柄

retcode= SQLAllocEnv(henv); // 等介于 SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL

, henv);

// 設(shè)置ODBC環(huán)境版本號為3.0

retcode= SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);

// 分配連接句柄

retcode= SQLAllocConnect(henv,hdbc); // 等介于 SQLAllocHandle(SQL_HANDLE_DBC, henv, hdbc);

//設(shè)置連接屬性,登錄超時為*rgbValue秒(可以沒有)

// SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)(rgbValue), 0);

//直接連接數(shù)據(jù)源

// 如果是windows身份驗證,第二、三參數(shù)可以是

c語言讀取mysql庫中的數(shù)據(jù)的程序頭文件怎么設(shè)置

Mysql C API編程步驟

1、首先我們要包含mysql的頭文件,并鏈接mysql動態(tài)庫。即添加以下語句:

#include WinSock2.h // 進(jìn)行網(wǎng)絡(luò)編程需要winsock2.h

#include mysql.h

#pragma comment(lib, “l(fā)ibmysql.lib”)

2、創(chuàng)建MYSQL變量。如:

MYSQL mysql;

3、初始化MYSQL變量。

mysql_init(mysql);

4、調(diào)用mysql_real_connect函數(shù)連接Mysql數(shù)據(jù)庫。mysql_real_connect函數(shù)的原型如下:

MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host,const char *user,const char *passwd,const char *db,unsigned int port,const char *unix_socket,unsigned long clientflag);

參數(shù)說明:mysql–前面定義的MYSQL變量;host–MYSQL服務(wù)器的地址;user–登錄用戶名;passwd–登錄密碼;db–要連接的數(shù)據(jù)庫;port–MYSQL服務(wù)器的TCP服務(wù)端口;unix_socket–unix連接方式,為NULL時表示不使用socket或管道機(jī)制;clientflag–Mysql運(yùn)行為ODBC數(shù)據(jù)庫的標(biāo)記,一般取0。連接失敗時該函數(shù)返回0。

5、調(diào)用mysql_real_query函數(shù)進(jìn)行數(shù)據(jù)庫查詢。mysql_real_query函數(shù)的原型如下:

int STDCALL mysql_real_query(MYSQL *mysql, const char *q, unsigned long length);

參數(shù)說明:mysql–前面定義的MYSQL變量;q–SQL查詢語句;length–查詢語句的長度。

查詢成功則該函數(shù)返回0。

6、通過調(diào)用mysql_store_result或mysql_use_result函數(shù)返回的MYSQL_RES變量獲取查詢結(jié)果數(shù)據(jù)。

兩個函數(shù)的原型分別為:

MYSQL_RES * STDCALL mysql_store_result(MYSQL *mysql);

MYSQL_RES * STDCALL mysql_use_result(MYSQL *mysql);

這兩個函數(shù)分別代表了獲取查詢結(jié)果的兩種方式。第一種,調(diào)用mysql_store_result函數(shù)將從Mysql服務(wù)器查詢的所有數(shù)據(jù)都存儲到客戶端,然后讀?。坏诙N,調(diào)用mysql_use_result初始化檢索,以便于后面一行一行的讀取結(jié)果集,而它本身并沒有從服務(wù)器讀取任何數(shù)據(jù),這種方式較之第一種速度更快且所需內(nèi)存更少,但它會綁定服務(wù)器,阻止其他線程更新任何表,而且必須重復(fù)執(zhí)行mysql_fetch_row讀取數(shù)據(jù),直至返回NULL,否則未讀取的行會在下一次查詢時作為結(jié)果的一部分返回,故經(jīng)常我們使用mysql_store_result。

7、調(diào)用mysql_fetch_row函數(shù)讀取結(jié)果集數(shù)據(jù)。

上述兩種方式最后都是重復(fù)調(diào)用mysql_fetch_row函數(shù)讀取數(shù)據(jù)。mysql_fetch_row函數(shù)的原型如下:

MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result);

參數(shù)result就是mysql_store_result或mysql_use_result的返回值。

該函數(shù)返回MYSQL_ROW型的變量,即字符串?dāng)?shù)組,假設(shè)為row,則row〔i〕為第i個字段的值。當(dāng)?shù)浇Y(jié)果集尾部時,此函數(shù)返回NULL。

8、結(jié)果集用完后,調(diào)用mysql_free_result函數(shù)釋放結(jié)果集,以防內(nèi)存泄露。mysql_free_result函數(shù)的原型如下:

void STDCALL mysql_free_result(MYSQL_RES *result);

9、不再查詢Mysql數(shù)據(jù)庫時,調(diào)用mysql_close函數(shù)關(guān)閉數(shù)據(jù)庫連接。mysql_close函數(shù)的原型為:

void STDCALL mysql_close(MYSQL *sock);

c語言怎么連接mysql數(shù)據(jù)庫 代碼

//vc工具中添加E:\WAMP\BIN\MYSQL\MYSQL5.5.8\LIB 路徑

//在工程設(shè)置-》鏈接》庫模塊中添加 libmysql.lib

#include stdio.h

#include time.h

#include string.h

#include winsock.h

#include "E:\wamp\bin\mysql\mysql5.5.8\include\mysql.h"

void main(){

MYSQL *conn;

MYSQL_RES *res;

MYSQL_ROW row;

char *server ="localhost";

char *user ="root";

char *password="";

char *database="test";

char sql[1024]="select * from chinaren";

conn=mysql_init(NULL);

if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0)){

fprintf(stderr,"%s\n",mysql_error(conn));

exit(1);

}

if(mysql_query(conn,sql)){

fprintf(stderr,"%s\n",mysql_error(conn));

exit(1);

}

res=mysql_use_result(conn);

while((row = mysql_fetch_row(res))!=NULL){

printf("%s\n",row[2]);

}

mysql_free_result(res);

mysql_close(conn);

}

===============================

#if defined(_WIN32) || defined(_WIN64) //為了支持windows平臺上的編譯

#include windows.h

#endif

#include stdio.h

#include stdlib.h

#include "mysql.h"

//定義數(shù)據(jù)庫操作的宏,也可以不定義留著后面直接寫進(jìn)代碼

#define SELECT_QUERY "show tables;"

int main(int argc, char **argv) //char **argv 相當(dāng)于 char *argv[]

{

MYSQL mysql,*handle; //定義數(shù)據(jù)庫連接的句柄,它被用于幾乎所有的MySQL函數(shù)

MYSQL_RES *result; //查詢結(jié)果集,結(jié)構(gòu)類型

MYSQL_FIELD *field ; //包含字段信息的結(jié)構(gòu)

MYSQL_ROW row ; //存放一行查詢結(jié)果的字符串?dāng)?shù)組

char querysql[160]; //存放查詢sql語句字符串

//初始化

mysql_init(mysql);

//連接數(shù)據(jù)庫

if (!(handle = mysql_real_connect(mysql,"localhost","user","pwd","dbname",0,NULL,0))) {

fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(mysql));

}

sprintf(querysql,SELECT_QUERY,atoi(argv[1]));

//查詢數(shù)據(jù)庫

if(mysql_query(handle,querysql)) {

fprintf(stderr,"Query failed (%s)\n",mysql_error(handle));

}

//存儲結(jié)果集

if (!(result=mysql_store_result(handle))) {

fprintf(stderr,"Couldn't get result from %s\n", mysql_error(handle));

}

printf("number of fields returned: %d\n",mysql_num_fields(result));

//讀取結(jié)果集的內(nèi)容

while (row = mysql_fetch_row(result)) {

printf("table: %s\n",(((row[0]==NULL)(!strlen(row[0]))) ? "NULL" : row[0]) ) ;

}

//釋放結(jié)果集

mysql_free_result(result);

//關(guān)閉數(shù)據(jù)庫連接

mysql_close(handle);

system("PAUSE");

//為了兼容大部分的編譯器加入此行

return 0;

}

用C語言如何對MySQL數(shù)據(jù)庫進(jìn)行操作

有時為了性能,我們會直接用C語言來開發(fā)相關(guān)的模塊,尤其在我們的web應(yīng)用中,雖然PHP、JSP等腳本均提供了MySQL的接口,但是顯然直接使用C語言具有更好的安全性和性能,Michael以前用PHP開發(fā)的多個項目中就使用了C語言編寫的這類接口,然后再編譯到php里面,供php腳本直接使用,這方面的話題就不多說了,下面主要說一下在Linux下如何用C語言連接MySQL數(shù)據(jù)庫,并且讀取里面的數(shù)據(jù)返回,同時如何進(jìn)行編譯。 if defined(_WIN32) || defined(_WIN64)為了支持windows平臺上的編譯#includewindows.h#endif#includestdio.h#includestdlib.h #includemysql.h 我的機(jī)器上該文件在/usr/local/include/mysql下 定義MySQL數(shù)據(jù)庫操作的宏,也可以不定義留著后面直接寫進(jìn)代碼 defineSELECT_QUERYselectusernamefromtbb_userwhereuserid=%dintmain(intargc,char**argv)char**argv相當(dāng)于char*argv[]{MYSQL mysql,*sock;定義數(shù)據(jù)庫連接的句柄,它被用于幾乎所有的MySQL函數(shù) MYSQL_RES *res;查詢結(jié)果集,結(jié)構(gòu)類型 MYSQL_FIELD *fd ;包含字段信息的結(jié)構(gòu) MYSQL_ROW row ;存放一行查詢結(jié)果的字符串?dāng)?shù)組 char qbuf[160];存放查詢sql語句字符串 if(argc!=2){//檢查輸入?yún)?shù) fprintf(stderr,usage:mysql_selectuserid\n\n);exit(1);}mysql_init(mysql);if(!(sock=mysql_real_connect (mysql,localhost,dbuser,dbpwd,9tmd_bbs_utf8,0,NULL,0))){ fprintf(stderr,Couldn'tconnecttoengine!\n%s\n\n,mysql_error(mysql));perror();exit(1);}sprintf(qbuf,SELECT_QUERY,atoi(argv[1])); if(mysql_query(sock,qbuf)){ fprintf(stderr,Queryfailed(%s)\n,mysql_error(sock));exit(1);}if(!(res=mysql_store_result(sock))){fprintf(stderr,Couldn'tgetresultfrom%s\n,mysql_error(sock));exit(1);}printf(numberoffieldsreturned:%d\n,mysql_num_fields(res));while(row=mysql_fetch_row(res)){printf(Theruserid#%d'susernameis:%s\n,atoi(argv[1]),(((row[0]==NULL)(!strlen(row[0])))?NULL:row[0])); puts(queryok!\n);}mysql_free_result(res); mysql_close(sock);exit(0);return0;為了兼容大部分的編譯器加入此行} 編譯的時候,使用下面的命令 gcc -o mysql_select ./mysql_select.c -I/usr/local/include/mysql -L/usr/local/lib/mysql -lmysqlclient (-lz) (-lm) 后面兩個選項可選,根據(jù)您的環(huán)境情況運(yùn)行的時候,執(zhí)行下面的命令 ./mysql_select 1 將返回如下結(jié)果: numberoffieldsreturned:1 Theruserid#1'susernameis:Michaelqueryok!上面的代碼我想大部分都能看明白,不明白的可以參考一下MySQL提供的有關(guān)C語言API部分文檔源碼天空 ,各個函數(shù)都有詳細(xì)說明,有時間我整理一份常用的API說明出來。

c語言怎么連接mysql數(shù)據(jù)庫?

mysql是有c語言接口的,安裝相應(yīng)庫后就可以鏈接了,一般連接mysql的函數(shù)是mysql_connect或者mysql_real_connect(大概就是這么拼的吧。。。)可以使用mysql_query執(zhí)行sql語句


分享題目:c語言怎么設(shè)置mysql,C語言怎么設(shè)置字體大小
本文網(wǎng)址:http://weahome.cn/article/dsgogge.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部