c和mysql連接資料庫(c與sql資料庫連接)

本文目錄一覽:

如何用c語言與mysql 連接

mysql是有c語言介面的,安裝相應庫後就可以鏈接了,一般連接mysql的函數是mysql_connect或者mysql_real_connect(大概就是這麼拼的吧。。。)可以使用mysql_query執行sql語句

mysql與c語言連接,代碼求解釋。

mysql是有c語言介面的,安裝相應庫後就可以鏈接了,一般連接mysql的函數是mysql_connect或者mysql_real_connect(大概就是這麼拼的吧。。。)可以使用mysql_query執行sql語句

如何用C語言連接MYSQL資料庫

1、配置ODBC數據源。

2、使用SQL函數進行連接。

對於1、配置數據源,配置完以後就可以編程操作資料庫了。

對於2、使用SQL函數進行連接,參考代碼如下:

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;

//環境句柄

HDBC

hdbc;

//數據源句柄

HSTMT

hstmt;

//執行語句句柄

unsigned

char

datasource[]=”數據源名稱”;

//即源中設置的源名稱

unsigned

char

user[]=

“用戶名”;

//資料庫的帳戶名

unsigned

char

pwd[]=

“密碼”;

//資料庫的密碼

unsigned

char

search[]=”select

xm

from

stu

where

xh=0″;

SQLRETURN

retcode;

//記錄各SQL函數的返回情況

//

分配環境句柄

retcode=

SQLAllocEnv(henv);

//

等介於

SQLAllocHandle(SQL_HANDLE_ENV,

SQL_NULL

,

henv);

//

設置ODBC環境版本號為3.0

retcode=

SQLSetEnvAttr(henv,

SQL_ATTR_ODBC_VERSION,

(void*)SQL_OV_ODBC3,

0);

//

分配連接句柄

retcode=

SQLAllocConnect(henv,hdbc);

//

等介於

SQLAllocHandle(SQL_HANDLE_DBC,

henv,

hdbc);

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

//

SQLSetConnectAttr(hdbc,

SQL_LOGIN_TIMEOUT,

(SQLPOINTER)(rgbValue),

0);

//直接連接數據源

//

如果是windows身份驗證,第二、三參數可以是

c語言怎麼連接mysql資料庫

mysql是有c語言介面的,安裝相應庫後就可以鏈接了,一般連接mysql的函數是mysql_connect或者mysql_real_connect(大概就是這麼拼的吧。。。)可以使用mysql_query執行sql語句

c語言怎麼連接mysql資料庫 代碼

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

//在工程設置-》鏈接》庫模塊中添加 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”

//定義資料庫操作的宏,也可以不定義留著後面直接寫進代碼

#define SELECT_QUERY “show tables;”

int main(int argc, char **argv) //char **argv 相當於 char *argv[]

{

MYSQL mysql,*handle; //定義資料庫連接的句柄,它被用於幾乎所有的MySQL函數

MYSQL_RES *result; //查詢結果集,結構類型

MYSQL_FIELD *field ; //包含欄位信息的結構

MYSQL_ROW row ; //存放一行查詢結果的字元串數組

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

//初始化

mysql_init(mysql);

//連接資料庫

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]));

//查詢資料庫

if(mysql_query(handle,querysql)) {

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

}

//存儲結果集

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));

//讀取結果集的內容

while (row = mysql_fetch_row(result)) {

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

}

//釋放結果集

mysql_free_result(result);

//關閉資料庫連接

mysql_close(handle);

system(“PAUSE”);

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

return 0;

}

C語言怎樣連接mysql資料庫

mysql是有c語言介面的,安裝相應庫後就可以鏈接了,一般連接mysql的函數是mysql_connect或者mysql_real_connect(大概就是這麼拼的吧。。。)可以使用mysql_query執行sql語句

原創文章,作者:INCS9,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/127733.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
INCS9的頭像INCS9
上一篇 2024-10-03 23:16
下一篇 2024-10-03 23:16

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Hibernate日誌列印sql參數

    本文將從多個方面介紹如何在Hibernate中列印SQL參數。Hibernate作為一種ORM框架,可以通過列印SQL參數方便開發者調試和優化Hibernate應用。 一、通過配置…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • 使用SQL實現select 聚合查詢結果前加序號

    select語句是資料庫中最基礎的命令之一,用於從一個或多個表中檢索數據。常見的聚合函數有:count、sum、avg等。有時候我們需要在查詢結果的前面加上序號,可以使用以下兩種方…

    編程 2025-04-29
  • 理解Mybatis中的SQL Limit用法

    Mybatis是一種非常流行的ORM框架,提供了SQL映射配置文件,可以使用類似於傳統SQL語言的方式編寫SQL語句。其中,SQL的Limit語法是一個非常重要的知識點,能夠實現分…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • SQL預研

    SQL預研是指在進行SQL相關操作前,通過數據分析和理解,確定操作的方法和步驟,從而避免不必要的錯誤和問題。以下從多個角度進行詳細闡述。 一、數據分析 數據分析是SQL預研的第一步…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • CentOS 7在線安裝MySQL 8

    在本文中,我們將介紹如何在CentOS 7操作系統中在線安裝MySQL 8。我們會從安裝環境的準備開始,到安裝MySQL 8的過程進行詳細的闡述。 一、環境準備 在進行MySQL …

    編程 2025-04-27

發表回復

登錄後才能評論