c c mysql程式設計介面

2021-10-04 19:34:57 字數 3505 閱讀 8456

c語言提供了連線mysql的一些介面,可以實現增查改刪等操作,主要有以下:

標頭檔案 

mysql //控制代碼

mysql *

mysql_init

(mysql *mysql)

;//初始化乙個mysql連線的例項物件,如果mysql不為空,返回該物件位址。

void

mysql_close

(mysql *sock)

;//釋放乙個mysql連線例項

mysql *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 client_flag)

;// 連線請求

intmysql_query

(mysql *mysql,

const

char

*stmt_str)

;//命令執行

mysql_res *

mysql_store_result

(mysql *mysql)

;//儲存結果集

mysql_row mysql_fetch_row

(mysql_res *result)

;//檢索乙個結果集合的下一行。當在mysql_store_result()之後使用時,如果沒有更多的行可檢索時,mysql_fetch_row()返回null。

intmysql_num_fields

(mysql_res *result)

;//函式返回結果集中欄位的數。

void

mysql_free_result

(mysql_res *result)

;//釋放結果集記憶體。

const

char

*mysql_error

(mysql* mysql)

;//返回上乙個 mysql 操作產生的文字錯誤資訊。

執行流程:

下面寫乙個例程,展示mysql的select和insert操作,delete和update方法類似,就不放了:

#include

#include

#include

using

namespace std;

class

stu_system

~stu_system()

public

:void

init()

cout<<

"初始化成功!"

<

(sock =

mysql_real_connect

(&mysql,

//連線mysql

host,

user,

passwd,

db,

port,

unix_socket,

client_flag))==

null

)else

}bool

cmd_executive()

return1;

}bool

get_result()

return1;

}bool

get_row()

else

return1;

}}//查void

search()

}}//增void

insert()

sprintf

(i_query,

"insert into t4_other values(%d,%d,%d)"

,score,medals,id);if

(this

->

cmd_executive()

)delete

name;

}private

: mysql mysql,

*sock;

const

char

*host =

"localhost"

;//待連線的ip位址,如果在本地可以寫localhost

const

char

*user =

"jimmy"

;//待連線的使用者名稱,也可以用root

const

char

*passwd =

"ilkb15766648564"

;//使用者密碼,登入mysql的密碼

const

char

*db =

"test04"

;//待連線的資料庫,注意寫對

unsigned

int port =

3306

;//固定埠

const

char

*unix_socket =

null

;//預設引數

unsigned

long client_flag =0;

//預設引數設定為0

mysql_row row;

//結果集合中的 「行」

mysql_res *result;

//儲存查詢結果集合

char

*i_query;

int flag;

int getid;};

intmain()

return0;

}

makefile

all:demo.out

demo.out:mysqldemo.cpp

g++-i/usr/include/mysql mysqldemo.cpp -l/usr/lib/mysql -l/usr/lib64/mysql -lmysqlclient -o demo.out

clean:

rm -rf demo.out

查:

增:

C C mysql模組匯出函式供lua使用

因為lua是指令碼語言,所以在處理io和高密度計算的時候效率會低,通常就會把這類高計算函式用c c 編寫匯出給lua使用,這裡是使用tolua 來實現的 tolua 需要引用的標頭檔案 ifdef cplusplus extern c endif include tolua fix.h int re...

Val程式設計 介面程式設計

由於示教盒是乙個黑白的解析度為 14 40 的液晶屏,使用者互動不是很好,介面不友好。而且沒有滑鼠導航與觸控螢幕。介面程式設計函式 1.void cls 2.void title string stext 3.void put string stext void put num nvalue 4.v...

Val程式設計 介面程式設計

由於示教盒是乙個黑白的解析度為 14 40 的液晶屏,使用者互動不是很好,介面不友好。而且沒有滑鼠導航與觸控螢幕。介面程式設計函式 1.void cls 2.void title string stext 3.void put string stext void put num nvalue 4.v...