• 締切済み

プレースフォルダ C言語

libpqを使ってC言語でPostgreSQLデータベースにあるデータを取得しています。 プレースフォルダ無しでSelectして表示させることはできますが、プレースフォルダのサンプルがネット上で探せませんでした。 プレースフォルダーをどのように記述したらよいのでしょうか? 英語ページでも構いませんので、教えてください。

みんなの回答

  • tecinfo
  • ベストアンサー率52% (32/61)
回答No.1

英語の解説サイトですら無いのですが、、PHPというWeb言語の実装の中に参考になりそうなモジュール(PDO_PGSQL)があるので、そのソースコードは良いサンプルになるかもしれません。 http://viewcvs.php.net/viewvc.cgi/pecl/pdo_pgsql/pgsql_statement.c?revision=1.44&view=markup&pathrev=HEAD

参考URL:
http://www.postgresql.jp/document/pg825doc/html/libpq-async.html
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C言語からデータベースにアクセス

    現在C言語で作成したシステムで MySQLで作成されたデータベースに格納されている画像のヒストグラム情報(すでに数値化して格納してあります)を取得 →プログラム内で処理→処理後の画像のファイル名、ヒストグラム情報をデータベースに格納 (C言語プログラム、データベースともに同じサーバー機に入っています) という処理を行いたいと思っているのですが、どのようにするのが良いでしょうか? データベースからのデータ取得はCから検索キーを指定して、データを検索、取得できればなおよいです。 PostgreSQLであればlibpqなどのライブラリがあるようですが、MySQLはどうにもわかりません。 C言語で作成したプログラムをCGIとして実装すればよいとは思うのですが、 解説サイトではフォームからの入力ばかりで、データベースから直接の受け渡しや、 画像情報のような大量のデータの受け渡しを解説しているサイトは見当たりませんでした。 なお、データベース操作はphpで行っています。 分かり辛い分で申し訳ありませんが、最悪Cプログラムからデータベースへのデータ格納だけでもかまいませんので、ご回答お願いします。

  • C言語でpostgresコネクションプールするには

    C言語でpostgresqlを利用する際に、データベースへの接続をキープしたい場合、 どのように記述すればよいのでしょうか。

  • Cプログラミング内でのPostgreSQLの利用について

    Cプログラムでのデータベース接続が出来ない事で質問です。 現在C言語で書いたプログラムがありまして、今まではwindows上でCSVファイルから読み込んで、 新しいファイルに書き込むというような内容のプログラム作っていました。 それを今は OSをLINUXのRedhat(teratermからアクセス) 読み込むデータファイルをデータベース(Postgresql) にしてやっています。 何とかDBをインストールして、DBにCSVファイルをコピーした物を作る所までは出来ました。 その後CプログラムでDBを利用する時、色んな設定をしてやらなくてはいけないと思うのですが まずlibpq-fe.hというものをincludeして使うとは分かったのですが、これがまず見つかりません。 質問(1) OSの中のファイルを探す時にコマンドで# find ~ -name libpq-fe.hとやったのですが間違っていますか? ちなみにあるとしたらどこにそのヘッダーファイルはありますか? 質問(2) インストールした手順としては日本PostgreSQLユーザ会のサイトからソースをダウンロードしてコンパイル、インストールを行いましたが、調べるとrpmと言うものを使ってインストールした人が同じような内容で質問していて、develを入れないとヘッダーファイルが 入らないという記述がありました。 その事は何か関係がありますか? 質問(3) libpq-fe.hが必要と書きましたが、他にもlibpq.soやlibpq.hと書いてあったりしてそこの所もよく分かりません。 記述が足りなかったらすいません。 ヒントでも良いので宜しくお願いします。

  • Windows+postgreSQL+C言語によるDB接続モジュールの開発環境について

    現在、以下の開発環境を構築しています。 OS:Windows XP SP2 データベース:PostgreSQL 8.1.4 C言語コンパイラ:LSI C-86 Ver 3.30 エディタ:CPad for LSI C-86 Version 2.31 libpqライブラリ、ヘッダファイル取得元: http://www.interwiz.koganei.tokyo.jp/software/PostgreSQL/windows.html データベースの作成、操作を正常に行えることを確認しています。 また、C言語によるテストモジュール(printf()関数によるHello world等 の文字出力、DB接続処理は無し)の作成が行えることも確認済です。 これらの確認が済んだ後に、以下の手順を行いました。 ・取得したlibpqライブラリを (コンパイラ配置フォルダ配下)\LIB\S ディレクトリ配下にlibpqdll.libを配置。 ・コンパイラの_LCCファイルに-llibpqdllを追記。 (-Lオプションで(コンパイラ配置フォルダ配下)\LIBが 指定されているのを確認済) ・コンパイラの_LCCファイルで、-Iオプションで指定したディレクトリに postgres_ext.h、libpq-fe.hを配置。 そこで、PQsetdbLogin()関数とPQfinish()関数を用いた DB接続テスト用ソースコードhoge.cを作成し、エディタ経由でコンパイルをした ところ、 以下のエラーが発生しました。 (コンパイラ配置フォルダ配下)\LIB/s/libpqdll.lib: Not a library file hoge.obj(hoge.c): Undefined symbol: PQfinish_ hoge.obj(hoge.c): Undefined symbol: PQsetdbLogin_ (コンパイラ配置フォルダ配下)\LIB/s/libpqdll.lib: Not a library file エラーの原因は、ライブラリファイルが認識されないことと推測していますが、 何故、認識されないのかが分かりません。 ご教授お願い致します。

  • PostgreSQLをC言語でアクセスしようと

    PostgreSQL 8.4.8 文書にのっているサンプルプログラムの 例 30-1. libpq サンプルプログラム 1 #include <stdio.h> #include <stdlib.h> #include "libpq-fe.h" ・・・・・・・・・・・・・ をコピペしてコンパイルしたところ次のようなエラーがでました # gcc sample.c /tmp/cctZBolQ.o: In function `exit_nicely': sample.c:(.text+0xd): undefined reference to `PQfinish' /tmp/cctZBolQ.o: In function `main': sample.c:(.text+0x4a): undefined reference to `PQconnectdb' sample.c:(.text+0x5a): undefined reference to `PQstatus' sample.c:(.text+0x6a): undefined reference to `PQerrorMessage' sample.c:(.text+0xa5): undefined reference to `PQexec' sample.c:(.text+0xb5): undefined reference to `PQresultStatus' sample.c:(.text+0xc6): undefined reference to `PQerrorMessage' sample.c:(.text+0xed): undefined reference to `PQclear' sample.c:(.text+0x105): undefined reference to `PQclear' sample.c:(.text+0x119): undefined reference to `PQexec' sample.c:(.text+0x129): undefined reference to `PQresultStatus' sample.c:(.text+0x13a): undefined reference to `PQerrorMessage' sample.c:(.text+0x161): undefined reference to `PQclear' sample.c:(.text+0x179): undefined reference to `PQclear' sample.c:(.text+0x18d): undefined reference to `PQexec' sample.c:(.text+0x19d): undefined reference to `PQresultStatus' sample.c:(.text+0x1ae): undefined reference to `PQerrorMessage' sample.c:(.text+0x1d5): undefined reference to `PQclear' sample.c:(.text+0x1ed): undefined reference to `PQnfields' sample.c:(.text+0x20f): undefined reference to `PQfname' sample.c:(.text+0x26b): undefined reference to `PQgetvalue' sample.c:(.text+0x2a8): undefined reference to `PQntuples' sample.c:(.text+0x2ba): undefined reference to `PQclear' sample.c:(.text+0x2ce): undefined reference to `PQexec' sample.c:(.text+0x2de): undefined reference to `PQclear' sample.c:(.text+0x2f2): undefined reference to `PQexec' sample.c:(.text+0x302): undefined reference to `PQclear' sample.c:(.text+0x30e): undefined reference to `PQfinish' collect2: ld はステータス 1 で終了しました # # find /usr/include/ -name libpq*.h /usr/include/pgsql/internal/libpq-int.h /usr/include/pgsql/server/libpq/libpq-be.h /usr/include/pgsql/server/libpq/libpq.h /usr/include/pgsql/server/libpq/libpq-fs.h /usr/include/libpq/libpq-fs.h /usr/include/libpq-events.h /usr/include/libpq-fe.h # gcc -I/usr/include sample.c でもおなじです どうすればコンパイル出きるようになるでしょうか? よろしくお願いします

  • Cでデータベース操作

    C言語で、SQLを実行させるサンプルソースを探しています。 スピードと次のようなデータベースにアクセスできるものが良いです。 SQL Server2005 DB2 MySQL PostgreSQL Oracle よい本もあるのでしたら、ご紹介お願いいたします。

  • c言語 擬似カラー

    このサイトで自分がしたいことのサンプルプログラムを見つけたんですけど http://www40.atwiki.jp/spellbound/pages/1782.html これはc言語じゃないですよね? c言語で擬似カラーを表すとどうするんですか??? c言語初心者でサンプルが必要です! お願いします。

  • C#でのオラクル接続

    お世話になります。 現在、以下の環境で開発を行っています。 VS2008 .NET FrameWork3.5 Orcle(バージョンはわかりません。) この状態で、C#からオラクルデータベースに繋いで、 値を取得して、それをデータセットに詰めて、 画面(WindowsForm)に表示したいと思っています。 ただ、いろいろと調べてみたのですが、 いまいち、取得結果をデータセットに格納する方法が分かりません。 よく見るサンプルが、セレクト文で一項目だけの取得のサンプルなので、 OrcleDataReaderクラス?の、getstring()メソッドで取得しているだけのものばかりです。 なので、取得したものをデータセットに格納するサンプルコード、もしくは方法を教えて頂きたいと思っています。 よろしくお願いします。

  • c言語の記述で困っています。

    c言語の記述で困っています。 USBは、メッセージベースの通信バスであるため、PCとUSBデバイスが通信を行う際は、コマンドとデータをテキストまたはバイナリ形式で送受信しています。各USBデバイスには固有のコマンドセットがあります。USBデバイスからの応答を読み取るにはRead/Write関数を使用して、それらのコマンドを計測器に送る必要があると思いますが、具体的にreadやwriteでどのようにc言語で記述したらいいのかわかりません。分かりやすいサンプルやホームページ等ありましたら教えて下さい。よろしくお願いします。 ちなみに、私が使用しているUSBデバイスのコマンドはhexです。

  • C#について

    C#で、データベースの勉強をしていますが、 市販の一般書籍では、サーバーエクスプローラ等、GUIを使用して簡単に、データベースアプリケーションが作成できるなどの記述が多くしてあります。 VBやC#のデータベースの記述に関するところは、ほとんどの書籍(9割以上)が、GUIで、DB接続、ドラッグ&ドロップで、データセット作成とか、説明されていますが、少なくとも、私の経験上、VB.NETの開発で、そんな現場に出会ったことがありません。DB接続も、データセット取得も、すべてコードで記述しました。 なんで、そんな一般書籍は、使いもしないことばかり触れているのだろうと毎日思うのですが、C#のデータベース(ADO.NET)で、すべてプログラムコードで、記述している一般書籍はありませんでしょうか? できれば、VisualStudio2005か、2008対応でお願いします。