 | | Wide Studio Object Reference
| |
クラスの型
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 | |