Wide Studio Object Reference

Wide Studio Home
Up to

## クラスの型

WSCdbRecord

## メソッド関数仕様

WSCdbRecord クラスを使用する為には WSCdb.h をインクルードしてください。

### WSCdbRecord 関数の説明

書式
  WSCdbRecord(WSCdbDatabase* pDatabase)
機能
  WSCdbRecordクラスのコンストラクタです。
処理
引数

  (in)WSCdbDatabase* pDatabase | WSCdbDatabaseクラスを指定します。

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

           WSCdbDatabase db;
           db.setDatabase("PGSQL");
           if(db.open("server", "user", "pass", "db", NULL) == WS_ERR) {
             WSCdbRecode rs(&db);
             long ret = rs.open("select * from shinamono order by code");
             if (ret == WS_NO_ERR){
               //接続。
             }else{
               //接続失敗、エラーメッセージを取得。
               char buffer[1024];
               rs.getErrorMsg(buffer,1024);
             }
           }

### WSCdbRecord 関数の説明

書式
  WSCdbRecord(WSCvdb* inst)
機能
  WSCdbRecordクラスのコンストラクタです。
処理
引数

  (in)WSCvdb* inst | WSCvdbクラスを指定します。

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

           WSCdbRecode rs(newvdb__000);
           long ret = rs.open("select * from shinamono order by code");
           if (ret == WS_NO_ERR){
             //接続。
           }else{
             //接続失敗、エラーメッセージを取得。
             char buffer[1024];
             rs.getErrorMsg(buffer,1024);
           }

### open 関数の説明

書式
  long open(char* stmt)
機能
  SQL文によりデータベースサーバーへの問い合わせを行います。
処理
  ODBC、PostgreSQL、MySQLの各APIを通じて SQL文を実行しFETCHカーソルをOPENします。
引数

  (in)char* stmt | 実行するSQL文を指定します。

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

           WSCdbRecode rs(newvdb__000);
           long ret = rs.open("select * from shinamono order by code");
           if (ret == WS_NO_ERR){
             //接続。
           }else{
             //接続失敗、エラーメッセージを取得。
             char buffer[1024];
             rs.getErrorMsg(buffer,1024);
           }

### open 関数の説明

書式
  long open(char* stmt, short eCousor, short eAccess)
機能
  SQL文によりデータベースサーバーへの問い合わせを行います。
処理
  ODBC、PostgreSQL、MySQLの各APIを通じて SQL文を実行しFETCHカーソルをOPENします。
引数

  (in)char* stmt | 実行するSQL文を指定します。
  short eCousor | カーソルの種類を指定します。
  short eAccess | アクセスの種類を指定します。

  カーソルの種類に指定できる値には、 次のようなものがあります。

  WSCDB_SQL_CURSOR_FORWARD_ONLY | 前方スクロール カーソルです。
  WSCDB_SQL_CURSOR_KEYSET_DRIVEN | キーセット カーソルです。
  WSCDB_SQL_CURSOR_DYNAMIC | 動的カーソルです。
  WSCDB_SQL_CURSOR_STATIC | 静的カーソルです。
  WSCDB_SQL_CURSOR_TYPE_DEFAULT | 前方スクロール カーソルです。

  アクセスの種類に指定できる値には、 次のようなものがあります。
  省略すると WSCDB_SQL_CONCUR_LOCK が指定されます。

  WSCDB_SQL_CONCUR_READ_ONLY | カーソルは読み取り専用です。更新は出来ません。
  WSCDB_SQL_CONCUR_LOCK | カーソルは、確実に行を更新できるように、十分な最低ロックを使用します。
  WSCDB_SQL_CONCUR_ROWVER | カーソルは、行バージョンによる楽観的な競合制御です。
  WSCDB_SQL_CONCUR_VALUES | カーソルは、行の値による楽観的な競合制御です。
  WSCDB_SQL_CONCUR_DEFAULT | カーソルは読み取り専用です。更新は出来ません。

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

           WSCdbRecode rs(newvdb__000);
           long ret = rs.open("select * from shinamono order by code",
                               WSCDB_SQL_CURSOR_KEYSET_DRIVEN,
                               WSCDB_SQL_CONCUR_READ_ONLY);
           if (ret == WS_NO_ERR){
             //接続。
           }else{
             //接続失敗、エラーメッセージを取得。
             char buffer[1024];
             rs.getErrorMsg(buffer,1024);
           }

### close 関数の説明

書式
  long close()
機能
  データベースサーバーへの問い合わせを切断します。
処理
  ODBC、PostgreSQL、MySQLの各APIを通じて SQL文を実行しFETCHカーソルをCLOSEします。
引数
  なし。
返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
  なし。
サンプル

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

### isEOF 関数の説明

書式
  WSCbool isOpen()
機能
  問い合わせ結果の現在のレコード位置を取得します。
処理
  問い合わせ結果のレコード位置が先頭レコード、最終レコードの範囲かどうかの状態を取得します。
引数
  なし。
返値
  True:先頭レコード、最終レコードの範囲外状態、False:先頭レコード、最終レコードの範囲内状態
注意
  なし。
サンプル

                 WSCbool ret = rs.isEOF();
                 if (ret == False){
                   //先頭レコード、最終レコードの範囲内状態。
                 }else{
                   //先頭レコード、最終レコードの範囲外状態。
                 }

### isOpen 関数の説明

書式
  WSCbool isOpen()
機能
  データベースサーバーへの問い合わせ状態を取得します。
処理
  データベースサーバーへの問い合わせ状態を取得します。
引数
  なし。
返値
  True:問合せ状態、False:非問合せ状態
注意
  なし。
サンプル

           WSCbool ret = rs.isOpen();
           if (ret == False){
             //非問合せ状態。
           }else{
             //問合せ状態。
           }

### getColValue 関数の説明

書式
  long getColValue(long index, WSCvariant* var)
機能
  項目のデータを取得します。
処理
  指定した番号の項目のデータを取得します。
引数

  (in)long index | 項目の番号を指定します。0 からの連番です。
  (in)WSCvariant* var | 項目のデータを格納するWSCvariantクラスのポインタを指定します。

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

        //テーブルの作成とデータの格納
        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(0, &var);
            result << "hinmei:" << (char*)var << " ";
            rs.getColValue(1, &var);
            char buf[80];
            double nedan = (float)var + 10;
            sprintf(buf, "%f", (float)var);
            result << "nedan:" << buf << "\n";

            rs.movenext();
          }
          printf("result:\n%s",(char*)result);
        }

### getColValue 関数の説明

書式
  long getColValue(const char* name, WSCvariant* var)
機能
  項目のデータを取得します。
処理
  指定した名前の項目のデータを取得します。
引数

  (in)const char* name | 項目の名前を指定します。
  (in)char* var | 項目のデータを格納する WSCvariant型のポインタを指定します。

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

        //テーブルの作成とデータの格納
        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);
        WSCvariant var;
        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";

            rs.movenext();
          }
          printf("result:\n%s",(char*)result);
        }

### getColStringValue 関数の説明

書式
  long getColStringValue(long index, char* var)
機能
  項目のデータを取得します。
処理
  指定した番号の項目のデータを文字列で取得します。
引数

  (in)long index | 項目の番号を指定します。0 からの連番です。
  (in)char* var | 項目のデータを格納するchar型のポインタを指定します。

返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
  バッファのオーバーフローに気を付けて使用して下さい。
サンプル

        //テーブルの作成とデータの格納
        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];
        WSCvariant var1;
        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.getColStringValue(0, &var);
            result << "hinmei:" << (char*)var << " ";
            rs.getColValue("nedan", &var1);
            char buf[80];
            double nedan = (float)var1 + 10;
            sprintf(buf, "%f", (float)var1);
            result << "nedan:" << buf << "\n";

            rs.movenext();
          }
          printf("result:\n%s",(char*)result);
        }

### getColStringValue 関数の説明

書式
  long getColStringValue(const char* name, char* var)
機能
  項目のデータを取得します。
処理
  指定した名前の項目のデータを文字列で取得します。
引数

  (in)const char* name | 項目の名前を指定します。
  (in)char* var | 項目のデータを格納する char型のポインタを指定します。

返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
  バッファのオーバーフローに気を付けて使用して下さい。
サンプル

        //テーブルの作成とデータの格納
        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.getColStringValue("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";

            rs.movenext();
          }
          printf("result:\n%s",(char*)result);
        }

### setColValue 関数の説明

書式
  long setColValue(long index, WSCvariant var)
機能
  項目のデータを取得します。
処理
  指定した番号の項目のデータ文字列で取得します。
引数

  (in)long index | 項目の番号を指定します。
  (in)WSCvariant var | 設定するデータを指定します。

返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
  プライマリキーの設定とキーの not null オプションが必要になります。
  ODBCの場合はODBCドライバによってサポートされない場合があります。
  PostgreSQLでは oid を使用して実現しております。
  MySQLでは _rowid を使用して実現しております。
サンプル

        //テーブルの作成とデータの格納
        char buf1[1024];
        strcpy(buf1, "drop table shinamono");
        long ret = newvdb__000->sqlExecute(buf1);
        strcpy(buf1,"create table shinamono(code int not null, hinmei char(20), nedan float, primary key(code))");
        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);
        WSCvariant var;
        WSCstring result;
        newvdb__000->beginTran();
        if(rs.open("select * from shinamono order by code", SQL_CURSOR_KEYSET_DRIVEN) == WS_NO_ERR) {
          while (!rs.isEOF()) {
            rs.getColValue("code", &var);
            int code = (int)var;
            result << "code:" << (int)var << " ";
            rs.getColStringValue("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";
            if(code != 5) {
              rs.edit();
              rs.setColValue(0, nedan);
              rs.update();
            } else {
              rs.deleterow();
            }

            rs.movenext();
          }
          printf("result:\n%s",(char*)result);
        }

### setColValue 関数の説明

書式
  long setColValue(const char* name, WSCvariant var)
機能
  項目のデータを取得します。
処理
  指定した番号の項目のデータ文字列で取得します。
引数

  (in)const char* name | 項目の名前を指定します。
  (in)WSCvariant var | 設定するデータを指定します。

返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
  プライマリキーの設定とキーの not null オプションが必要になります。
  ODBCの場合はODBCドライバによってサポートされない場合があります。
  PostgreSQLでは oid を使用して実現しております。
  MySQLでは _rowid を使用して実現しております。
サンプル

        //テーブルの作成とデータの格納
        char buf1[1024];
        strcpy(buf1, "drop table shinamono");
        long ret = newvdb__000->sqlExecute(buf1);
        strcpy(buf1,"create table shinamono(code int not null, hinmei char(20), nedan float, primary key(code))");
        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();

        newvdb__000->beginTran();
        //データの参照
        WSCdbRecord rs(newvdb__000);
        WSCvariant var;
        WSCstring result;
        newvdb__000->beginTran();
        if(rs.open("select * from shinamono order by code", SQL_CURSOR_KEYSET_DRIVEN) == WS_NO_ERR) {
          while (!rs.isEOF()) {
            rs.getColValue("code", &var);
            int code = (int)var;
            result << "code:" << (int)var << " ";
            rs.getColStringValue("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";
            if(code != 5) {
              rs.edit();
              rs.setColValue("nedan", nedan);
              rs.update();
            } else {
              rs.deleterow();
            }

            rs.movenext();
          }
          printf("result:\n%s",(char*)result);
        }
        newvdb__000->commitTran();

### edit 関数の説明

書式
  long edit()
機能
  項目の編集を可能とします。
処理
  項目の編集を可能とします。
引数
  なし。
返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
  カーソルの種類が SQL_CURSOR_KEYSET_DRIVEN に設定されていなければいけません。
  プライマリキーの設定とキーの not null オプションが必要になります。
  ODBCの場合はODBCドライバによってサポートされない場合があります。
  PostgreSQLでは oid を使用して実現しております。
  MySQLでは _rowid を使用して実現しております。
サンプル
  setColValue のサンプルを参照ください。

### update 関数の説明

書式
  long update()
機能
  現在のレコードを更新します。
処理
  現在のレコードを UPDATE 又は INSERTします。
引数
  なし。
返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
  edit、addnew 関数が先に実行されている必要があります。
  プライマリキーの設定とキーの not null オプションが必要になります。
  ODBCの場合はODBCドライバによってサポートされない場合があります。
  PostgreSQLでは oid を使用して実現しております。
  MySQLでは _rowid を使用して実現しております。
サンプル
  setColValue のサンプルを参照ください。

### addnew 関数の説明

書式
  long addnew()
機能
  レコードの追加を行います。
処理
  レコードの追加を行う準備を行います。
引数
  なし。
返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
  プライマリキーの設定とキーの not null オプションが必要になります。
  ODBCの場合はODBCドライバによってサポートされない場合があります。
  PostgreSQLでは oid を使用して実現しております。
  MySQLでは _rowid を使用して実現しております。
サンプル

        //テーブルの作成とデータの格納
        char buf1[1024];
        strcpy(buf1, "drop table shinamono");
        long ret = newvdb__000->sqlExecute(buf1);
        strcpy(buf1,"create table shinamono(code int not null, hinmei char(20), nedan float, primary key(code))");

        newvdb__000->beginTran();
        //データの参照
        WSCdbRecord rs(newvdb__000);
        WSCvariant var;
        WSCstring result;
        newvdb__000->beginTran();
        if(rs.open("select * from shinamono order by code", SQL_CURSOR_KEYSET_DRIVEN) == WS_NO_ERR) {
          if (rs.isEOF()) {
            rs.addnew();
            rs.setColValue("code", 1);
            rs.setColValue("hinmei", 'みかん');
            rs.setColValue("nedan", 100);
            rs.update();
          }
        }
        newvdb__000->commitTran();

### deleterow 関数の説明

書式
  long deleterow()
機能
  現在のレコードを削除します。
処理
  現在のレコードを削除します。
引数
  なし。
返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
  プライマリキーの設定とキーの not null オプションが必要になります。
  ODBCの場合はODBCドライバによってサポートされない場合があります。
  PostgreSQLでは oid を使用して実現しております。
  MySQLでは _rowid を使用して実現しております。
サンプル
  setColValue のサンプルを参照ください。

### moveNext 関数の説明

書式
  long moveNext()
機能
  現在のレコードを次のレコードに移動します。
処理
  現在のレコードを次のレコードに移動します。
引数
  なし。
返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
  なし。
サンプル
  setColValue のサンプルを参照ください。

### movePrevious 関数の説明

書式
  long movePrevious()
機能
  現在のレコードを前のレコードに移動します。
処理
  現在のレコードを前のレコードに移動します。
引数
  なし。
返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
  ODBCの場合はODBCドライバによって動作が正しく行われない場合があります。
サンプル

        //データの参照
        WSCdbRecord rs(newvdb__000);
        WSCvariant var;
        WSCstring result;
        newvdb__000->beginTran();
        if(rs.open("select * from shinamono order by code", SQL_CURSOR_KEYSET_DRIVEN) == WS_NO_ERR) {
          if (!rs.isEOF()) {
            rs.moveLast();
            rs.movePrevious();
          }
        }

### moveFirst 関数の説明

書式
  long moveFirst()
機能
  現在のレコードを先頭のレコードに移動します。
処理
  現在のレコードを先頭のレコードに移動します。
引数
  なし。
返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
  ODBCの場合はODBCドライバによって動作が正しく行われない場合があります。
サンプル

        //データの参照
        WSCdbRecord rs(newvdb__000);
        WSCvariant var;
        WSCstring result;
        newvdb__000->beginTran();
        if(rs.open("select * from shinamono order by code", SQL_CURSOR_KEYSET_DRIVEN) == WS_NO_ERR) {
          if (!rs.isEOF()) {
            rs.moveLast();
            rs.moveFirst();
          }
        }

### moveLast 関数の説明

書式
  long moveLast()
機能
  現在のレコードを最終のレコードに移動します。
処理
  現在のレコードを最終のレコードに移動します。
引数
  なし。
返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
  ODBCの場合はODBCドライバによって動作が正しく行われない場合があります。
サンプル
  moveFirst のサンプルを参照ください。

### getColName 関数の説明

書式
  long getColName(long index, char* name)
機能
  指定した番号の項目名を取得します。
処理
  指定した番号の項目名を取得します。
引数

  (in)long index | 項目の番号を指定します。0 からの連番です。
  (in)char* var | カラム名を格納するchar型のポインタを指定します。

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

        //データの参照
        WSCdbRecord rs(newvdb__000);
        WSCvariant var;
        WSCstring result;
        if(rs.open("select * from shinamono order by code", SQL_CURSOR_KEYSET_DRIVEN) == WS_NO_ERR) {
          if (!rs.isEOF()) {
            char name[31];
            long ret = getColName(0, name);
            printf("name : %s\n", name);
          }
        }

### getColIndex 関数の説明

書式
  long getColIndex(const char* name)
機能
  指定した名前の項目番号を取得します。
処理
  指定した名前の項目番号を取得します。 0からの連番です。
引数

  (in)char* var | 項目の名前を指定します。

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

        //データの参照
        WSCdbRecord rs(newvdb__000);
        WSCvariant var;
        WSCstring result;
        if(rs.open("select * from shinamono order by code", SQL_CURSOR_KEYSET_DRIVEN) == WS_NO_ERR) {
          if (!rs.isEOF()) {
            char name[31];
            long index = getColName("code");
            printf("index : %d\n", index);
          }
        }

### getColType 関数の説明

書式
  long getColType(long index)
機能
  指定した番号の項目種別を取得します。
処理
  指定した番号の項目種別を取得します。
引数

  (in)long index | 項目の番号を指定します。

返値
  0:以上:成功、WS_ERR:失敗
  項目の種別

  WSCDB_FIELD_TYPE_CHAR | 文字列です。
  WSCDB_FIELD_TYPE_NUMERIC | 文字列の数値型です。
  WSCDB_FIELD_TYPE_DECIMAL | 文字列の数値型です。
  WSCDB_FIELD_TYPE_INTEGER | 数値の long型です。
  WSCDB_FIELD_TYPE_SMALLINT | 数値の short型です。
  WSCDB_FIELD_TYPE_FLOAT | 数値の float型です。
  WSCDB_FIELD_TYPE_REAL | 数値の float型です。
  WSCDB_FIELD_TYPE_DOUBLE | 数値の double型です。
  WSCDB_FIELD_TYPE_DATE | 文字列の日付型です。
  WSCDB_FIELD_TYPE_TIME | 文字列の時間型です。
  WSCDB_FIELD_TYPE_TIMESTAMP | 文字列のタイムスタンプ型です。
  WSCDB_FIELD_TYPE_NONE | 文字列のその他型です。

注意
  なし。
サンプル

        //データの参照
        WSCdbRecord rs(newvdb__000);
        WSCvariant var;
        WSCstring result;
        if(rs.open("select * from shinamono order by code", SQL_CURSOR_KEYSET_DRIVEN) == WS_NO_ERR) {
          if (!rs.isEOF()) {
            char name[31];
            long type = getColType(0);
            printf("type : %d\n", type);
          }
        }

### getColLength 関数の説明

書式
  long getColLength(long index)
機能
  項目長さを取得します。
処理
  指定した番号の項目の長さを取得します。
引数

  (in)long index | 項目の番号を指定します。

返値
  項目長さ
注意
  なし。
サンプル

        //データの参照
        WSCdbRecord rs(newvdb__000);
        WSCvariant var;
        WSCstring result;
        if(rs.open("select * from shinamono order by code", SQL_CURSOR_KEYSET_DRIVEN) == WS_NO_ERR) {
          long count = rs.getRowCount();
          for (long i = 0; i < count; i++) {
            char* name = new char(rs.getColLength(0));
            rs.getColValue("name", name);
            delete name;
            rs.moveNext();
          }
        }

### getColLength 関数の説明

書式
  long getColLength(const char* name)
機能
  項目長さを取得します。
処理
  項目名で指定した番号の項目の長さで取得します。
引数

  (in)const char* name | 項目の名前を指定します。

返値
  項目長さ
注意
  なし。
サンプル

        //データの参照
        WSCdbRecord rs(newvdb__000);
        WSCvariant var;
        WSCstring result;
        if(rs.open("select * from shinamono order by code", SQL_CURSOR_KEYSET_DRIVEN) == WS_NO_ERR) {
          long count = rs.getRowCount();
          for (long i = 0; i < count; i++) {
            char* name = new char(rs.getColLength(0));
            rs.getColValue("name", name);
            delete name;
            rs.moveNext();
          }
        }

### getRowCount 関数の説明

書式
  long getRowCount()
機能
  問合せした結果のレコード件数を取得します。
処理
  問合せした結果のレコード件数を取得します。
引数
  なし。
返値
  レコード件数
注意
  なし。
サンプル

        //データの参照
        WSCdbRecord rs(newvdb__000);
        WSCvariant var;
        WSCstring result;
        if(rs.open("select * from shinamono order by code", SQL_CURSOR_KEYSET_DRIVEN) == WS_NO_ERR) {
          long count = rs.getRowCount();
          for (long i = 0; i < count; i++) {
            rs.getColValue(0, &var);
            rs.moveNext();
          }
        }

### getColCount 関数の説明

書式
  long getRowCount()
機能
  問合せした結果の項目数を取得します。
処理
  問合せした結果の項目数を取得します。
引数
  なし。
返値
  項目数
注意
  なし。
サンプル

        //データの参照
        WSCdbRecord rs(newvdb__000);
        WSCvariant var;
        WSCstring result;
        if(rs.open("select * from shinamono order by code", SQL_CURSOR_KEYSET_DRIVEN) == WS_NO_ERR) {
          long count = rs.getRowCount();
          for (long i = 0; i < count; i++) {
            for(long cols = 0; cols < rs.getColCount; cols++) {
              rs.getColValue(cols, &var);
            }
            rs.moveNext();
          }
        }

### getErrorMsg 関数の説明

書式
  void getErrorMsg(char* szState, char* szMsg)
機能
  エラーメッセージを取得します。
処理
  エラーメッセージを取得します。
引数

  (in)char* szState | エラー番号を格納する変数をします。
  (in)char* szMsg | エラーメッセージを格納する変数をします。

返値
  なし。
注意
  なし。
サンプル

        //データの参照
        WSCdbRecord rs(newvdb__000);
        WSCvariant var;
        WSCstring result;
        if(rs.open("select * from shinamono order by code", SQL_CURSOR_KEYSET_DRIVEN) != WS_NO_ERR) {
          char szStatus[10];
          char szMessage[256];
          getErrorMsg(szStatus, szMessage);
          printf("db error %s:%s", szStatus, szMessage);
        }