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