電子書籍の厳選無料作品が豊富!

C・C++のソースからMYSQLの接続、テーブル・クエリの管理、処理。レコードデータの取得または利用といったことがしてみたいのです。
C言語のソースにMyglobal.hとmysql.hをincludeして、

#include<Myglobal.h>
#include<mysql.h>
と記述するのでしょうか?

MYSQLのコマンドを使用できるように、libmysql.libや
mysqlclient.libを設定するにはどうするのでしょうか?

MYSQLリファレンスをみても分からない状況です。
環境はBorland C++ 又はWIDE Studioです。
OSはWINDOWSです。
Visual C++からしか、動作させることができないのでしょうか?
C++等のCのソース上で動かしてみたいのです。

分かる方、是非詳しく使用例またはサンプルソースを
教えてください。
よろしくお願いします。

A 回答 (1件)

サンプルならそれこそmysqlに付属のサンプルが一番でしょう。

結構わかりやすく書かれています。
最低限
#include<mysql.h>
だけあればコンパイルは通ります。
あとはリンク時にlibmysql.libをリンクするだけです。

私はBorland C++ Builderからでしたが、複数ThreadからSQL文を投げて値を取得できていますよ。
どちらかというと、プログラミング>C&C++カテゴリのネタですね。

この回答への補足

回答ありがとうございます。
すいません、Borland C++じゃなく、BolandBcc55コンパイラです。
MYSQLのLibmysql.libの設定の仕方がわかりません。
bcc55コンパイラ設定のcfgファイルにlibMysql.libを
追加設定必要ですか?
全く分からないでわかれば教えてください。
BorlandbccコンパイラでMYSQLとリンク?して、
printfなどでデータベースの値を表示するの可能?

設定の仕方とソースの書き方もあっているのか
分かりません。

Widows上でBorlandbcc55コンパイラでMYSQLを利用したいのです。ローカルで。

やはりAPACHEなどを利用し、CのCGIでしかMYSQLを利用することしかできないのでしょうか?
CのCGIで利用するには?
WINDOWS上で利用可能?
WINDOWSとWINDOWS仕様のAPACHEの環境で?

mysql_init
mysql_real_connect

msyql_fetch_row
mysql_select_db
mysql_query
のコーディングがわかりにくいです。
これらの関数はBorlandbcc55コンパイラで利用可能?
MYSQLの関数?
#includeだけの設定だけで、動くのでしょうか?

C/C++等でMYSQLの接続・切断・管理・MYSQLのレコードの値の取得・値の表示の仕方の基礎を教えてください。
これなら動きますよというソースを教えて頂けたら有難いです。


MYSQL付属のSAMPLEソースが見つかりませんでした。



エラーがでますが、自分で調べて考えたソースです。

[1]

#include <windows.h>
#include <stdio.h>
#include "c:\mysql\include\mysql.h"
int main ()
{
MYSQL *myData;
char *HostName;
char *Passwd;
char *LoginName;
int port;

HostName =""; //MYSQLへのアドレス
LoginName =""; //MYSQLへの続ユーザ名
Passwd =""; //MYSQLへの接続パスワード
//ユーザごと
port =0; //ポート

if((myData = mysql_init((MYSQL*)0)) && mysql_real_connect( myData,HostName,LoginName,Passwd,NULL,port,NULL,0)){
// MYSQL構造体の初期化とサーバの接続が出来た場合

printf("初期化に成功しました");

}else{

// MYSQL構造体の初期化かサーバの接続が
// 出来なかった場合

printf("コネクト失敗");
mysql_close(myData);
return(-1);
}
return 0;
}

[2]

#include "c:\mysql\include\mysql.h"
#include <stdio.h>

int main()
{
int i,rowcount;

MYSQL mysql;
MYSQL *mysqldb = NULL;
MYSQL_FIELD *resultfield;
MYSQL_RES *resultset;
MYSQL_ROW resultrow;

mysqldb = mysql_connect(&mysql,
"MYSQLのアドレス","ユーザ名","パスワード");mysql_select_db(mysqldb,"db");
mysql_query(
mysqldb,"select * from shouhinm");

resultset = mysql_store_result(mysqldb);
rowcount = mysql_num_rows(resultset);

for (i=0;i < rowcount;i++){
resultrow = msyql_fetch_row(resultset);
printf("%d %s %s<br>\n",i+1,resultrow[0],resultrow[1]);
}

return 0;
}

長く書いてしまいましたがよろしくお願いします。

補足日時:2003/09/03 10:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!