Wide Studio Object Reference

Wide Studio Home
Up to

## クラスの型

WSCvodbc

## メソッド関数仕様

### open 関数の説明

書式
  long open(char* dsn,char* username,char* passwd)
機能
  データベースに接続します。
処理
  ODBC を通じてデータベースに接続します。
引数

  (in)char* dsn | DSN 名を指定します。
  (in)char* username | 接続するユーザ名を指定します。
  (in)char* passwd | パスワードを指定します。

返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
  なし。
サンプル

           long ret = newvodb_000->open("postgres","user","passwd");
           if (ret == WS_NO_ERR){
             //接続。
           }else{
             //接続失敗、エラーメッセージを取得。
             char buffer[1024];
             newvodb_000->getErrorMsg(buffer,1024);
           }

  ### open 関数の説明

  書式
    long open()
  機能
    データベースに接続します。
  処理
    プロパティの設定値を使ってデータベースに接続します。
  引数
    なし。
  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル

             long ret = newvodb_000->open();
             if (ret == WS_NO_ERR){
               //接続。
             }else{
               //接続失敗、エラーメッセージを取得。
               char buffer[1024];
               newvodb_000->getErrorMsg(buffer,1024);
             }

  ### close 関数の説明

  書式
    long close()
  機能
    データベースとの接続を切断します。
  処理
    ODBC を通じてデータベースへの接続を切断します。
  引数
    なし。
  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル

             long ret = newvodb_000->close();
             if (ret == WS_NO_ERR){
               //切断成功。
             }else{
               //切断失敗、エラーメッセージを取得。
               char buffer[1024];
               newvodb_000->getErrorMsg(buffer,1024);
             }

  ### isOpen 関数の説明

  書式
    WSCbool isOpen()
  機能
    データベースとの接続の状態を取得します。
  処理
    ODBC を通じたデータベースへの接続の状態を取得します。
  引数
    なし。
  返値
    True:接続状態、False:非接続状態
  注意
    なし。
  サンプル

             WSCbool ret = newvodb_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文発行結果として取得されるデータは、WSCodbcRecord クラスを 用いてアクセスします。
  サンプル

          //テーブルの作成とデータの格納
          char buf1[1024];
          strcpy(buf1, "drop table shinamono");
          long ret = newvodb_000->sqlExecute(buf1);
          strcpy(buf1,"create table shinamono(code int, hinmei char(20), nedan float)");
          newvodb_000->sqlExecute(buf1);
          newvodb_000->beginTran();
          strcpy(buf1,"insert into shinamono values(1, 'みかん', 100)");
          newvodb_000->sqlExecute(buf1);
          strcpy(buf1,"insert into shinamono values(2, 'りんご', 200)");
          newvodb_000->sqlExecute(buf1);
          strcpy(buf1,"insert into shinamono values(3, 'バナナ', 300)");
          newvodb_000->sqlExecute(buf1);
          strcpy(buf1,"insert into shinamono values(4, 'メロン', 0)");
          newvodb_000->sqlExecute(buf1);
          newvodb_000->commitTran();

          //データの参照
          WSCodbcRecord rs(newvodb_000);
          char var[256];
          WSCstring result;
          newvodb_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 = newvodb_000->beginTran();
             if (ret == WS_NO_ERR){
               //トランザクション開始成功。
             }else{
               //トランザクション開始失敗、エラーメッセージを取得。
               char buffer[1024];
               newvodb_000->getErrorMsg(buffer,1024);
             }

  ### commitTran 関数の説明

  書式
    long commitTran()
  機能
    トランザクションを確定(コミット)します。
  処理
    ODBC を通じてトランザクションをコミットします。
  引数
    なし。
  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    データベースへ接続をしていなければなりません。
  サンプル

             long ret = newvodb_000->commitTran();
             if (ret == WS_NO_ERR){
               //トランザクションコミット成功。
             }else{
               //トランザクションコミット失敗、エラーメッセージを取得。
               char buffer[1024];
               newvodb_000->getErrorMsg(buffer,1024);
             }

  ### abortTran 関数の説明

  書式
    long abortTran()
  機能
    トランザクションを途中で中断します。
  処理
    ODBC を通じてトランザクションを中断します。
  引数
    なし。
  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    トランザクションを開始していなければなりません。
  サンプル

             long ret = newvodb_000->abortTran();
             if (ret == WS_NO_ERR){
               //トランザクション中断成功。
             }else{
               //トランザクション中断失敗、エラーメッセージを取得。
               char buffer[1024];
               newvodb_000->getErrorMsg(buffer,1024);
             }

  ### getErrorMsg 関数の説明

  書式
    long getErrorMsg(char* buf,long buflen)
  機能
    エラー文字列を取得します。
  処理
  引数

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

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

  Document Release 3.70
  For Use with Wide Studio Release 3.70, Spring 2004

  WideStudio Home | Up to

  Copyright(C) WideStudio Development Team, 1999-2004 |  | Last modified: May. 25, 2004