博文一 :
在使用 mysql_query() 進行一次查詢後,一般要用這兩個函式之一來把結果存到乙個 mysql_res * 變數中。
兩者的主要區別是,mysql_use_result() 的結果必須「一次性用完」,也就是說用它得到乙個 result 後,必須反覆用 mysql_fetch_row() 讀取其結果直至該函式返回 null 為止,否則如果你再次進行 mysql 查詢,會得到 「commands out of sync; you can』t run this command now」 的錯誤。而 mysql_store_result() 得到 result 是存下來的,你無需把全部行結果讀完,就可以進行另外的查詢。比如你進行乙個查詢,得到一系列記錄,再根據這些結果,用乙個迴圈再進行資料庫查詢,就只能用 mysql_store_result() 。
sql_.h
gdut17@ubuntu:
~/code/sql$ cat sql_.h
#ifndef sql_h
#define sql_h
#include
"mysql.h"
class mysql_cpp
;#endif
sql.cpp
//gcc sql.cpp -i/usr/include/mysql -l/usr/lib/mysql -lmysqlclient
#include
"sql_.h"
#include
#include
#include
using
namespace std;
intmain
(int argc,
char
*ar**)
mysql_cpp m;
m.mysql_connect
("127.0.0.1"
,"root"
,"123456"
,ar**[1]
);char buf[
128]=;
while(1
)return0;
}//預設建構函式
mysql_cpp::
mysql_cpp()
res =
null;}
//連線函式
bool mysql_cpp::
mysql_connect
(const
char
* host,
const
char
*user,
const
char
*passwd,
const
char
*db)
//連線資料庫後先設定編碼再查詢
mysql_query
(mysql,
"set names utf8");
cout<<
"connect ok"
true;}
bool mysql_cpp::
get_res
(const
char
* query)
//獲得結果集
res=
mysql_store_result
(mysql);if
(!res)
//返回結果集中的行數
//讀取結果
int count =
mysql_num_rows
(res);if
(count !=0)
printf
("\n");
}}else
//釋放結果集
mysql_free_result
(res)
;return
true;}
bool mysql_cpp::
get_res_use
(const
char
* query)
//獲得結果集
res=
mysql_use_result
(mysql);if
(!res)
//返回結果集中的行數
//讀取結果
while
((row=
mysql_fetch_row
(res)))
printf
("\n");
}//釋放結果集
mysql_free_result
(res)
;return
true;}
//析構函式
mysql_cpp::
~mysql_cpp()
}
makefile
gdut17@ubuntu:~/code/sql$ cat makefile
lnc=/usr/include/mysql
lib=/usr/lib/mysql
lib=mysqlclient
all:sql
sql:sql.cpp
g++ -o sql sql.cpp -i$(lnc)
-l$(lib)
-l$(lib)
clean:sql
rm sql
MySQL(C 的鏈結姿勢)
介紹 這篇隨筆主要介紹mysql的基礎api的使用姿勢 基本使用姿勢 第一步 登陸資料庫 string connstr database start datasource 127.0.0.1 port 3306 userid root pwd yangyang21 mysql.data.mysqlc...
Linux下對程序的監控
bin bash while true dosleep 600 home opt arm date bin date date f t home top log.log top b d 1 n 1 home top log.log echo home top log.log echo home to...
Linux下對tomcat的命令
遠端操作linux中tomcat的命令 1.catalina.sh start 啟動tomcat 2.catalina.sh stop 關閉tomcat 3.tail f logs catalina.out 檢視後台輸出 4.ps ef grep tomcat 檢視tomcat執行狀態 5.kill...