WideStudio関連
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実験室