タイトルにも書いてありますが、
構造体の中身をmysqlで作成したデータベースに
書き込んでいく方法がわからなく、困っております。
PHPやODBCはまったく使い方がわからないので、
C言語のみでアクセスする方法をググってみたところ、
c apiというものがあることはわかりました。
しかし、capiを使ったサンプル自体が極端に少なく、
サンプルの内容もデータベースにアクセスして、テーブル内の
内容を表示するというものがほとんどでした。
変数の値をデータベースに書き込む、というだけのサンプルだけでもいいので、どなたか教えてくださればありがたいです。
もしくは、構造体の中身はcsvファイルとしてすべて書き出しているんですが、このcsvファイルをmysqlで直接読み込んでいったほうが早いのでしょうか?
よろしくお願いいたします。
No.1
- 回答日時:
がると申します。
んと…構造体のレコード毎に
・insert文を作成して
・DBにクエリを投げる
だけなので。特に難しい事も無いと思うのですが…どのあたりで困ってらっしゃいますでしょうか?
この回答への補足
お恥ずかしい限りなのですが、その特に難しくない部分で悩んでます。
mysql単体でのデータベースの作成、テーブル作成追加、削除、更新などはできるのですが、それをどうやって他のアプリケーションから扱うかで行き詰りました。
参考書などに書かれているc言語の標準関数以外のものをまったく扱ったことがないもので。
ですので、何を最初にインクルードするか、どうやってmysqlを呼び出すか、そして変数内のデータをデータベースに書き込んでいくか。
この流れの簡単なサンプル(長かったり、複雑すぎるとまだ読めないです……)などいただければ、ありがたいです。
No.2
- 回答日時:
以下にたくさんサンプルがあります。
この中の「Adding records to table」の部分が参考になるのではないでしょうか?
http://www.geocities.com/jahan.geo/mysql_c_by_ex …
ありがとうございます。
リファレンス片手に少しずつ読み進めていきます。
しかし……0から始めたり、ネコでもわかったりするc言語で扱うmysql講座、みたいなサイトってないんですね……
私の検索の仕方が悪いのか、二日くらい探してますが一つも見つかりません。
あれば少なくとも私は泣いて喜ぶんですが……
もしこのサイトがわかりやすくて使える、というお勧めがありましたら
ぜひ教えていただけますでしょうか。お願いします。
No.3ベストアンサー
- 回答日時:
この回答への補足
教えていただいたアドレス先のmysqlの基本操作を終え、
いざVC++からアクセスしようとしたのですが、
サンプルプログラムを実行するとmysql.hのインクルードで引っかかっています。
error C1083: include ファイルを開けません。'mysql.h': No such file or directory
と出てきました。
おそらく原因はコンパイルの環境設定だと目星をつけ、またググったり
教えてgoo内を調べてみて、
MySQLがインストールされたディレクトリを
-I と -L で指定してやるだけです。
-I がincludeファイルのあるところ、
-L がライブラリの名前です。標準以外のところに置かれていればフルパスで。
という答えが、同じ問題にぶつかった方の回答でありました。
その方はこの答えで解決したようですが、私はなんのことやらわかりません。この方はgccを使っていたようです。
見よう見まねでVCのオプションのVC++ディレクトリのインクルードファイルのところに、フルパスでmysqlをインストールしたところを指定してみましたが、意味がありませんでした。
それとも、そもそもの設定の箇所が間違っているのでしょうか?
私の環境は
vc++2008ExpressEdition
mysqlServer5.0
です。
apacheとPHPの設定をした時のように、OSがvistaだから……という理由じゃないことを切に願います。
ありがとうございます!!!
何で私が検索かけても見つからなかったのだろう……orz
この検索能力も少しずつ上げていきたいものです。
このサイトがあれば、プログラミングに入る前の準備は大丈夫だと思います。ひとつひとつ説明もついてますし。文句無しです。
ありがとうございました!!
No.4
- 回答日時:
VS2005の環境では以下で設定できました。
たぶんこの設定でいいと思います。(1)プロジェクトのプロパティを開く。
(2)「構成プロパティ」-「C/C++」-「全般」内の「追加のインクルードディレクトリ」に
MySQL.hが保存されているフォルダを指定する。
エラーが発生した際には、エラーを選択し、「F1」キーを押すと、一応対処方法が出てくると思います。
たまに役に立たないときがありますが。。。
回答ありがとうございます。
さっそく教えていただいた方法と、私が調べた結果を試してみました。
その結果、両方の設定を同時にすることでインクルードは読み込んでくれるようになりました。
以下にその設定箇所を書いておきます。
開発環境:OSはvista、VC++2008、mysqlserver5.0です。
(1)mysqlのセットアップの際、Developer ComponentsのC IndudeFiles/Lib Filesを忘れずインストールしておく。
私のようにネットなどを使い参考にしてインストールすると、サイト によってはVC++を使わない方向でインストールしている場合がありま す。その場合includeフォルダがインストールされません。
まさに私がそうでした。
(2)コントロールパネル→システム→システムの詳細設定→詳細設定タブ内の環境変数→PathにC:\Program Files\MySQL\MySQL Server 5.0\binを追加する。
(3)VC++2008を立ち上げて、ツール→オプション→VC++ディレクトリを選択し、ディレクトリを表示するプロジェクト内のインクルードファイルを選択。そしてC:\Program Files\MySQL\MySQL Server 5.0\includeを追加する。
(4)VC++2008プロジェクトのプロパティを選択。構成プロパティ内のリンカ→入力→追加依存ファイルに
wsock32.lib
"C:\Program Files\MySQL\MySQL Server 5.0\lib\debug\libmysql.lib"
の二つを追加します。フルパスは""でくくらないと認識しません。
この作業を終え、泣きそうになりながら適当なサンプルを実行したら、
一応は走ってくれました。
これはあくまで私の設定した方法です。余計なこともしているかもしれません。
おそらく、各アプリケーションのVerによって設定方法は全く違います。
少数だとは思いますが、同じ問題で悩んでいる人がいたら参考にしてもらえれば幸いです。
ようやく設定が終わりました。そもそもの質問である、変数内のデータをデータベースに書き込んでいくという作業にようやく取り掛かれます。
takuro-san、くだらない上に脱線した私の質問に親切にお答えしていただき、ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- その他(開発・運用・管理) おんどとりWebStorage APIから温度情報を取得し表示したい 2 2023/08/03 09:53
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- JavaScript Typescript が必要な理由 1 2023/01/07 11:45
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- MySQL [1000地域 × 10カテゴリー = 1万件のテーブル]!グループ化? 1 2023/06/14 23:56
- フリーソフト 色々な形式の個人情報を後で参照しやすいようWindow10で管理したいのですが、どんな方法があるの? 1 2023/04/29 16:46
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- Excel(エクセル) csvに別のExcelの文章を差し込む 2 2023/04/01 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA シートを指定して...
-
VBAでファイルパスが長すぎてコ...
-
Lubuntuでフォントをインストー...
-
FFFTPでサーバに新規フォルダが...
-
Refreshで落ちる
-
CSVファイルの出力に関して
-
ファイルが別のPCで開けない
-
グーグルドライブからコピーし...
-
vba エクセルダウンロードファ...
-
OpenOfficeの書式エラーの質問...
-
web.configファイル内、valueに...
-
batファイル処理でのテキストフ...
-
Excelでdatファイルを作成??
-
複数のテキストファイルをexcel...
-
Windowsのメモ帳でジョークウイ...
-
ExcelVBA テキストファイルから...
-
Access2003で「オブジェクト'○○...
-
windowsへscp
-
マクロでメモ帳に貼り付け
-
KADOKAWA電撃文庫ってフォーマ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでファイルパスが長すぎてコ...
-
Microsoft Access エラー 3051
-
Lubuntuでフォントをインストー...
-
【Excel VBA】PDFを作成して,...
-
Refreshで落ちる
-
ExcelVBAで、隠しフォルダにあ...
-
Excel VBA シートを指定して...
-
FFFTPでサーバに新規フォルダが...
-
VBAでFTPファイル転送がうまく...
-
フォルダ参照ではなくファイル...
-
エクセルVBA フォームを開く時...
-
グーグルドライブからコピーし...
-
OCXのライセンス
-
ファイルが別のPCで開けない
-
ASP上でFileSystemObjectのDele...
-
ASP.NETで、別サーバーへファイ...
-
VBSで指定したフォルダにファイ...
-
BASP21のアップロードについて
-
【python】pandasでExcel(...
-
vba エクセルダウンロードファ...
おすすめ情報