WideStudio/MWT Class Reference

WideStudio/MWT Home
Up to


クラスの型

WSCvdb

メソッド関数仕様



open 関数の説明

書式
long open(char* hostname,char* username,char* passwd,char* dbname,char* port)
機能
データベースに接続します。
処理
引数
(in)char* hostname ホスト名を指定します。
(in)char* username 接続するユーザ名を指定します。
(in)char* passwd パスワードを指定します。
(in)char* dbname データベース名を指定します。
(in)char* port ポート番号を文字列で指定します。
dbname、port は、PostgreSQL を利用する場合に指定します。 ODBC 利用時は、hostname に dsn を指定し、 dbname、port は省略するか、NULL を指定します。
返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
なし。
サンプル
     long ret = newvdb__000->open("10.20.30.1","user","passwd","dbname","5432");
     if (ret == WS_NO_ERR){
       //接続。
     }else{
       //接続失敗、エラーメッセージを取得。
       char buffer[1024];
       newvdb__000->getErrorMsg(buffer,1024);
     }



open 関数の説明

書式
long open()
機能
データベースに接続します。
処理
プロパティの設定値を使ってデータベースに接続します。
引数
なし。
返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
なし。
サンプル
     long ret = newvdb__000->open();
     if (ret == WS_NO_ERR){
       //接続。
     }else{
       //接続失敗、エラーメッセージを取得。
       char buffer[1024];
       newvdb__000->getErrorMsg(buffer,1024);
     }



close 関数の説明

書式
long close()
機能
データベースとの接続を切断します。
処理
引数
なし。
返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
なし。
サンプル
     long ret = newvdb__000->close();
     if (ret == WS_NO_ERR){
       //切断成功。
     }else{
       //切断失敗、エラーメッセージを取得。
       char buffer[1024];
       newvdb__000->getErrorMsg(buffer,1024);
     }



isOpen 関数の説明

書式
WSCbool isOpen()
機能
データベースとの接続の状態を取得します。
処理
引数
なし。
返値
True:接続状態、False:非接続状態
注意
なし。
サンプル
     WSCbool ret = newvdb__000->isOpen();
     if (ret == False){
       //非接続状態。
     }else{
       //接続状態。
     }



sqlExecute 関数の説明

書式
long sqlExecute(const char* sql)
機能
データベースに対して SQL 文を発行します。
処理
引数
(in)const char* sql SQL文を指定します。
返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
SQL文発行結果として取得されるデータは、WSCdbRecord クラスを 用いてアクセスします。
サンプル
  //テーブルの作成とデータの格納
  char buf1[1024];
  strcpy(buf1, "drop table shinamono");
  long ret = newvdb__000->sqlExecute(buf1);
  strcpy(buf1,"create table shinamono(code int, hinmei char(20), nedan float)");
  newvdb__000->sqlExecute(buf1);
  newvdb__000->beginTran();
  strcpy(buf1,"insert into shinamono values(1, 'みかん', 100)");
  newvdb__000->sqlExecute(buf1);
  strcpy(buf1,"insert into shinamono values(2, 'りんご', 200)");
  newvdb__000->sqlExecute(buf1);
  strcpy(buf1,"insert into shinamono values(3, 'バナナ', 300)");
  newvdb__000->sqlExecute(buf1);
  strcpy(buf1,"insert into shinamono values(4, 'メロン', 0)");
  newvdb__000->sqlExecute(buf1);
  newvdb__000->commitTran();

  //データの参照
  WSCdbRecord rs(newvdb__000);
  char var[256];
  WSCstring result;
  newvdb__000->beginTran();
  if(rs.open("select * from shinamono order by code") == WS_NO_ERR) {
    while (!rs.isEOF()) {
      rs.getColValue("code", &var);
      int code = (int)var;
      result << "code:" << (int)var << " ";
      rs.getColValue("hinmei", &var);
      result << "hinmei:" << (char*)var << " ";
      rs.getColValue("nedan", &var);
      char buf[80];
      double nedan = (float)var + 10;
      sprintf(buf, "%f", (float)var);
      result << "nedan:" << buf << "\n";
    }
    printf("result:\n%s",(char*)result);
  }



beginTran 関数の説明

書式
long beginTran()
機能
トランザクションを開始します。
処理
引数
なし。
返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
データベースへ接続をしていなければなりません。
サンプル
     long ret = newvdb__000->beginTran();
     if (ret == WS_NO_ERR){
       //トランザクション開始成功。
     }else{
       //トランザクション開始失敗、エラーメッセージを取得。
       char buffer[1024];
       newvdb__000->getErrorMsg(buffer,1024);
     }



commitTran 関数の説明

書式
long commitTran()
機能
トランザクションを確定(コミット)します。
処理
引数
なし。
返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
データベースへ接続をしていなければなりません。
サンプル
     long ret = newvdb__000->commitTran();
     if (ret == WS_NO_ERR){
       //トランザクションコミット成功。
     }else{
       //トランザクションコミット失敗、エラーメッセージを取得。
       char buffer[1024];
       newvdb__000->getErrorMsg(buffer,1024);
     }



abortTran 関数の説明

書式
long abortTran()
機能
トランザクションを途中で中断します。
処理
引数
なし。
返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
トランザクションを開始していなければなりません。
サンプル
     long ret = newvdb__000->abortTran();
     if (ret == WS_NO_ERR){
       //トランザクション中断成功。
     }else{
       //トランザクション中断失敗、エラーメッセージを取得。
       char buffer[1024];
       newvdb__000->getErrorMsg(buffer,1024);
     }



getErrorMsg 関数の説明

書式
long getErrorMsg(char* buf,long buflen)
機能
エラー文字列を取得します。
処理
引数
(in/out)char* buf エラー文字列を格納するバッファ。
(in)long buflen バッファ長を指定します。
返値
なし。
注意
サンプル
open のサンプルを参照ください。


Document Release 3.90

For Use with WideStudio/MWT Release 3.90, Summer 2005


WideStudio/MWT Home | Up to

Copyright(C) WideStudio/MWT Development Team, 1999-2005 Last modified: June 25, 2005