C 連線資料庫的入口和獲取列數 資料

2022-02-11 08:40:35 字數 1410 閱讀 7029

這裡不具體放出完整的程式,分享兩個核心函式:

第乙個是連線資料庫的:

行內帶有詳細注釋,皆本人的見解,有理解錯的,求幫指出。

再作簡單介紹,之所有帶有int返回型別,是因為一旦連線資料庫失敗就return 0 結束程式。

形參所輸入的分別是 資料庫位址、埠,本機的埠一般是3306、資料庫名、使用者名稱、密碼,呼叫就能用了。

1

int datebase::init(const

char* host, int port, const

char* database, const

char* user, const

char*password)

20//

設定事務自動提交,1為啟用自動提交

21 mysql_autocommit(&(this->conn), 1

);22 }

下面這個是在連線資料庫成功後:

特別注意,用這個之前請確認你的mysql裡面有資料表,否則會出錯!

用來獲取資料庫中表的列名,並且在依次、有順序地輸出列名後輸出所有資料的函式。

請讀者認清裡面的函式,下作簡介:

mysql_query(,) 這條是執行命令的,成功返回0,第乙個引數是連庫快取變數,第二個是命令字串;

mysql_store_result(),獲取結果集,形參是連庫快取變數,返回值是mysql res 型別的結果集快取變數;

mysql_fetch_fields(),獲取表中的列名字,它返回的是mysql filed型別的陣列,用一次就能獲取所有列名,用一迴圈即可輸出所有!

mysql_num_fields(),獲取欄位的數目,就是有多少列;

mysql_fetch_row(),獲取一行的資料,這是一行哦,但是,獲取一行後會自動後移,所以用while最好!返回值是mysql row型別的變數

1

void datebase::show_db()

9this->mysql_res=mysql_store_result(&(this->conn));

10 files=mysql_fetch_fields(this->mysql_res);//

獲得欄位名

11for(i=0;ithis->mysql_res);i++)

14 cout<<"\n"

;15while(mysql_row=mysql_fetch_row(this->mysql_res))

20else

21 cout<14);cout<23 cout<<"\n"

;24}25 mysql_free_result(mysql_res);//

這個是釋放記憶體

26 }

C 連線資料庫

using system using system.data using system.data.sqlclient using system.windows.forms namespace testc public void open catch exception e public void c...

c 連線資料庫

根據查詢結果儲存在資料庫伺服器端還是本地客戶端,可分兩種連線資料庫的方式 那麼這兩種方式的好壞 查詢結果儲存在資料庫伺服器 之所以要儲存在資料庫伺服器端,是因為一旦查詢結果資料量大,如果儲存在本地會占用大量的記憶體,所以該方式的優點是不佔記憶體。但對 於 資料量小情況下,還要時刻與資料庫保持連線,一...

C 連線資料庫

用sqlconnection連線sql server資料庫 引用 using dystem.data.sqlclient string constring data source ip位址 initial catalog 資料庫名稱 user id 使用者名稱 password 密碼 persist...