Develop and Download Open Source Software

Browse Subversion Repository

Contents of /ReadMe.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3 - (show annotations) (download)
Fri Apr 15 01:24:53 2011 UTC (13 years, 1 month ago) by ohfuji
File MIME type: text/plain
File size: 4802 byte(s)
再度のReadMeのアップ
1 /**********************************************************************
2 kz_odbc.h ODBC APIの簡易ラッパークラス
3 Authors Katsuhisa Ohfuji
4 Version 0.1a(開発版)2008/03/11
5 Version 0.2a(開発版)2008/04/14 NULL値の取得エラーの修正
6 (NULL値を空文字として取得する)
7 Version 0.3a(開発版)2008/05/16 カタログ関数(tables,columns)の追加
8 Version 0.4a(開発版)2009/01/06 Linux対応(+一部関数の追加)
9 Version 0.5a(開発版)2009/02/12 colinfoの添え字調整
10 Version 0.6a(開発版)2009/02/27 トランザクション対応
11 Fetch関数(next)の追加
12 Version 0.7a(開発版)2009/04/10 データ取得のバグ修正
13 Version 0.7b(開発版)2009/05/07 引数のデータ型の訂正
14 Version 0.8a(開発版)2009/05/12 NULLデーター挿入の対応
15 Version 0.8b(開発版)2009/12/11 64bit修正
16 Version 0.9 2011/04/14 バグフィックス
17
18 使い方(Ver0.6から使い方が変わりました)
19 1.kz_odbcオブジェクトを作成(コンストラクタにODBC接続文字列を指定)
20
21 kz_odbc db("DSN=myaccess", false);
22
23 ※DSNでデーターソースの指定のほか、Driverでの指定も可
24 ※コンストラクタの2つ目の引数はコミットモードを指定する
25 trueで手動コミットモード、falseで自動コミットモード
26 手動コミットモードにした場合、最後にCommit()を呼び出す必要がある。
27
28 2.SQLの発行
29 stmtオブジェクトを作成し、SQLを発行する。
30
31 kz_stmt stmt(&db);
32
33 stmt, "INSERT INTO TEST(col1, col2) VALUE(?, ?)", "val1", 10, endsql;
34
35 ※各要素をカンマ(,)で区切る
36 ※最初にkz_stmtオブジェクトを指定し、次にSQLを文字列で指定する。
37 ※パラメーター(?に対する値)を続けて指定
38 ※パラメーターで指定できる型は、整数(各int)、文字(char*)、
39 浮動小数点(double,float)、時間(struct tm)
40 それ以外の型を指定するとSQLが発行されない(式全体が無視される)。
41 ※整数の0をパラメータに指定する時は一度変数に入れてから指定する。
42  (C++コンパイラでは、整数の0は、NULLポインタと解釈されるので)
43 ※NULL値を指定したいときは、kz_odbc_nullを指定する。
44 stmt, "INSERT INTO TEST(col1) VALUE(?)", kz_odbc_null, endsql;
45 ※最後にendsqlと記述する(記述がないとSQLが発行されない)。
46
47 3.値を返すSQLの発行
48
49 kz_resultset_array result = (stmt, "SELECT * FROM TEST", endsqlrs);
50
51 ※ 結果セットは、kz_resultset_array(後述)で返る
52 ※ SQL発行部のカンマ式の全体を()で括る。
53 演算子の優先順位の関係で全体を括らないと値が返らない。
54 ※ 最後は、endsqlrsと記述する(endsqlでは値が返らない)。
55
56 4.結果セットの参照方法
57 結果セット(kz_resultset_array)は、以下のtypdefになっている。
58 std::vector< std::map< std::string, std::string> >
59 ※SELECTの結果を全て受け取る
60 ※行はvectorに列はmap(列名と値のmap)になっている。
61   cout << result[1]["ID"]
62  のようにアクセスできる。
63 ※結果セットは、文字列に変換されて返る
64 5.エラーの確認
65 ※iserrメンバ関数でエラーの有無が分かる
66 ※errorsメンバ関数でエラー情報が取得できる
67  結果は、kz_string_array( std::vector< std::string > )で返る。
68 サンプル
69  kz_odbc_sample.cppをご参照下さい。
70 ライセンス
71  本ソフトウェアはGPLで配布しています。
72 文字コード
73  本ファイルはUTF-8でエンコードしています。
74 kz_odbc.hはShift_JIS(CP932)でエンコードしています。
75  お使いの環境に合わせて文字コードを変更後、ご使用願います。
76 動作環境
77  以下の環境で動作確認をしています。
78  Windows 7(64bit) 32bitモード・64bitモード access
79  Windows 7(64bit) 32bitモード・64bitモード SQL Server 2008
80  Windows 7(64bit) 32bitモード・64bitモード MySQL(connector 5.18)
81 Centos 5.5(32bit) unixODBC 2.2.11 MySQL connector 3.51
82 コンパイル方法
83 Windows:サンプルをご参照ください。
84  Linux: unixODBCが必要です。ランタイムと開発版両方必要です。
85   例)centos5.5 RPM:unixODBC-2.2.11およびunixODBC-devel-2.2.11
86 コンパイル時に g++コマンドに対して -lodbc オプションを指定下さい。
87 **********************************************************************/

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26