Wide Studio Object Reference

| Wide Studio Object Reference |
Wide Studio Home
Up to
  ## クラスの型 WSCvdb ## メソッド関数仕様 ### open 関数の説明 書式 long open(char* hostname,char* username,char* passwd,char* dbname,char* port) 機能 データーベースに接続します。 処理 ODBC を通じてデーターベースに接続します。 引数
  (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()
  機能
    データーベースとの接続を切断します。
  処理
    ODBC を通じてデーターベースへの接続を切断します。
  引数
    なし。
  返値
    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()
  機能
    データーベースとの接続の状態を取得します。
  処理
    ODBC を通じたデーターベースへの接続の状態を取得します。
  引数
    なし。
  返値
    True:接続状態、False:非接続状態
  注意
    なし。
  サンプル

             WSCbool ret = newvdb__000->isOpen();
             if (ret == False){
               //非接続状態。
             }else{
               //接続状態。
             }

  ### sqlExecute 関数の説明

  書式
    long sqlExecute(const char* sql)
  機能
    データーベースに対して SQL 文を発行します。
  処理
    ODBC を通じてデーターベースに 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()
  機能
    トランザクションを開始します。
  処理
    ODBC を通じてトランザクションを開始します。
  引数
    なし。
  返値
    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()
  機能
    トランザクションを確定(コミット)します。
  処理
    ODBC を通じてトランザクションをコミットします。
  引数
    なし。
  返値
    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()
  機能
    トランザクションを途中で中断します。
  処理
    ODBC を通じてトランザクションを中断します。
  引数
    なし。
  返値
    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* buffer,long buflen)
  機能
    エラー文字列を取得します。
  処理
  引数

    (in/out)char* buf | エラー文字列を格納するバッファ。
    (in)long buflen | バッファ長を指定します。

  返値
    なし。
  注意
  サンプル
    open のサンプルを参照ください。

  Document Release 3.20
  For Use with Wide Studio Release 3.20, Winter 2002

  WideStudio Home | Up to

  Copyright(C) T. Hirabayashi, 1999-2002 |  | Last modified: Nov. 28, 2002