ODBCクラス

WideStudio ODBC クラス ODBCクラス及びサンプルのソース

Windows版はここ db.lzh から。

Unix版はここ db.tar.gz から。

サンプルの説明



・「Connect」ボタンはデータベースへ接続します。
・「create」ボタンはテスト用のテーブル shinamonoの作成とテストデータを作成します。
・「SQL TEST」ボタンは簡単なSQLの実行を行います。
・「Execute」ボタンは上のテキストに入力したSQL文を実行します。
・「clear」ボタンはテキストの内容をクリアします。


WidoStudioのリンクモジュールの追加

Windowsの場合、 WideStudioのgccのlibの下に有る libodbc32.a を追加してください。

Unixの場合、/usr/lib/libodbc.so を追加してください。


ODBC Driver

Windows版 PostgreSQLのODBC Driverは ここ から。

PostgreSQL Windows-Native版をインストールする場合は ここから。

unixODBCのインストール

unixODBC-2.1.1-1.src.rpm をインスト-ルしました。

rpm -i unixODBC-2.1.1-1.src.rpm

ライブラリのインストール先は /usr/lib のようです。
(もしかしたら /usr/local/lib へインストールされるかも分かりません)

iniファイルは /etcにインストールされます。

/etc/odbc.iniの記述サンプル

[ODBC Data Source]
; DSN名とそのコメント
postgres = PostgreSQL ODBC Data Source

; 各DSN名の設定内容
[postgres]
Driver = /usr/lib/libodbcpsql.so
Servername = localhost
Database = db
Port = 5432



改修内容
UPDATE 2002/06/03

long cODBCDatabase::sqlExecute(const char* stmt)
正常終了しているのにエラーたなってします。
ステートメントハンドルの解放位置を修正

addnew、edit、update、deleterowメソッドに対応により改修

long cODBCRecord::open(const char* stmt)
long cODBCRecord::open(const char* stmt, ECursor eCousor)
long cODBCRecord::update()
long cODBCRecord::deleterow()
long cODBCRecord::moveNext()
void cODBCRecord::getValue(int index, WSCvariant* var)
void cODBCRecord::setValue(int index, WSCvariant* var)

movePrevious (一つ前のレコードに移動)、moveFirst(先頭レコードに移動)、moveLast(最終レコードに移動)メソッドの追加

long cODBCRecord::movePrevious()
long cODBCRecord::moveFirst()
long cODBCRecord::moveLast()


addnew、edit、update、deleterowメソッドはODBCドライバが 対応されていない場合があるので注意してください。
それと Primary Key の設定が必要です。

movePreviousメソッドはMS-SQLServerのODBCドライバでは正しく動作しませんでしたが(多分ODBCドライバのバグでしょう?)、PostgeSQLのODBCでは正しく動作しました。

edit、update、deleterowメソッドを使ったサンプルソースは ここから。

補足

テストした項目のタイプは、int、short、long、float、char、text型のみしかしてませんし結構手抜きして作成していますのでバグが結構残っていると思います。 バグ報告はWideStudioのMLかこちらにお願いします。


参考URL

ばぁばのODBC実験室

免責事項 | プライバシーポリシー