红联Linux门户
Linux帮助

Linux下通过C++语言代码来操作MySQL数据库

发布时间:2009-01-05 16:04:36来源:红联作者:jerry520
代码:

#include

#include

#include "/usr/local/include/mysql/mysql.h" //安装的mysql的头文件所在的位置

using namespace std;

string host="数据库地址";

string user="用户名";

string pwd="密码";

string dbname="数据库";

string sql="查询语句";

unsigned int port=3309;#端口号

int status;

int main(){

MYSQL *mysql;

mysql=mysql_init(0);

MYSQL_RES *result;

MYSQL_ROW row;

if(mysql_real_connect(mysql,host.c_str(),user.c_str(),pwd.c_str(),dbname.c_str(),port,NULL,CLIENT_FOUND_ROWS)==NULL){

cout << "connect failure!" << endl;

return EXIT_FAILURE;

}else{

cout << "connect success!" << endl;

}

mysql_set_character_set(mysql,"gbk");

status=mysql_query(mysql,sql.c_str());

if(status !=0 ){

cout << "query failure!" << endl;

}

cout << "the status is :" << status << endl;

result=mysql_store_result(mysql);

while(row=mysql_fetch_row(result)){

cout << row[1] <<"|"<< row[2] << endl;

}

mysql_free_result(result);

mysql_close(mysql);

}

编译:

g++ -o test test.cpp -lmysqlclient -I/usr/local/include/mysql/ -L/usr/local/lib/mysql

后面的那些用来指定mysql安装的时候包含路径和库文件路径,具体与你机器上的mysql安装的路径有关。
文章评论

共有 3 条评论

  1. Toad 于 2009-01-07 11:49:27发表:

    努力

  2. xcwen 于 2009-01-05 18:42:12发表:

    程序中的代码:
    sprintf( this->sqlstr, "select a from %s where userid=%u ",
    this->get_table_name(userid),fieldname ,userid);
    STD_QUERY_ONE_BEGIN(this-> sqlstr, USER_ID_NOFIND_ERR);
    BIN_CPY_NEXT_FIELD(a,EMAIL_LEN);
    STD_QUERY_ONE_END();

    是不 是更可怕.

  3. uzrcgunr 于 2009-01-05 17:01:42发表:

    有难度啊