Linux下C語言處理MySQL資料庫樣本程式

來源:互聯網
上載者:User

Linux下C語言處理MySQL資料庫樣本程式,花了n久的時間終於搞清楚了,丫丫的,真麻煩

編譯:

引用

g++ -Imysql/include -Lmysql/lib -o a.out a.cpp -lmysqlclient -lz

這個mysql目錄是某個mysql的源碼目錄,如果有安裝mysql-devel可能是在/usr/ooxx/mysql,沒有的話自己去down源碼

#include<iostream>

#include<string>

#include<fstream>

#include"mysql.h"

using namespace std;

MYSQL * conn = NULL; //MySQL串連控制代碼

//讀取配置

bool read_conf(string &dbhost,

string &dbuser,

string &dbpass,

string &dbname){

ifstream is("judge.conf");

is >> dbhost >> dbuser >> dbpass >> dbname;

return true;

}

bool query(){

int status, state, state2;

MYSQL_RES * res;

MYSQL_ROW   row;

string cmd;

MYSQL *conn, mysql;

string dbhost, dbuser, dbpass, dbname;

if(read_conf(dbhost,dbuser, dbpass, dbname)){ //讀取資料庫

if (mysql_init(&mysql) == NULL){

fprintf(stderr, "初始化錯誤\n");

return false;

}

conn = mysql_real_connect(&mysql, dbhost.c_str(), dbuser.c_str(),

dbpass.c_str(), dbname.c_str(), NULL,

"/var/run/mysqld/mysqld.sock", 0);

if(conn == NULL){ //串連失敗

fprintf(stderr, "串連失敗!\n");

return false;

}

}else{ //讀取配置失敗

fprintf(stderr, "讀取配置失敗!\n");

return false;

}

cmd = "SELECT OOXX FROM OOXX";

cout << "Command: " << cmd << endl;

state = mysql_query(conn, cmd.c_str());

cout << "state: " << state << endl;

if(state != 0){//查詢出錯

fprintf(stderr, "%s\n", mysql_error(conn));

return false;

}

res = mysql_store_result(conn);

cout << "affected_rows:" << conn->affected_rows << endl;

while(row = mysql_fetch_row(res), row != NULL){

printf("%s\n", row[0]);

}

return true;

}

int main(){

query();

return 0;

}

如果覺得這篇文章對你有用,請在下面留個言讓我知道,非常感謝^_^

轉載請註明出自 http://felix021.com/blog/read.php?1505 (如是轉載文則註明原出處),謝謝:)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.