ページの先頭行へ戻る
Symfoware Server V10.0.0/V10.0.1 アプリケーション開発ガイド(ODBCドライバ編)

D.4.6 カーソル位置づけでのデータ更新

カーソル位置づけでのデータ更新を行うサンプルコードについて説明します。

本サンプルコードは、Recordsetオブジェクトを使用してデータ更新を行います。Recordsetオブジェクトに行が1行もない場合には行を挿入し、1行以上ある場合には1行目を更新します。

アプリケーションの手順

  1. コネクションを接続します。詳細は、“D.4.1 接続および切断”を参照してください。

  2. Recordsetオブジェクトを生成します。

  3. Recordset.OpenメソッドでRecordsetオブジェクトを開きます。

  4. データを編集します。(行がない場合は行を挿入します)
    Recordset.BOFプロパティでカレント行がBOFかを確認します。
    Recordset.EOFプロパティでカレント行がEOFかを確認します。
    Recordset.AddNewメソッドでRecordsetオブジェクトに新しい行を作成します。
    Field.Valueプロパティへ値を設定します。

  5. Recordset.UpdateメソッドでRecordsetオブジェクトの編集内容によりINSERT文かUPDATE文を実行します。

  6. Recordset.CloseメソッドでRecordsetオブジェクトを閉じます。

  7. コネクションを切断します。

  8. オブジェクトを破棄します。

エラー処理については、“D.4.10 エラー処理”を参照してください。

<%@ language="vbscript" %>
<!-- #include file = "adovbs.inc" -->
<html>
<head>
<title>カーソル位置づけでのデータ更新</title>
</head>
<body bgcolor="White">
<b>カーソル位置づけでのデータ更新</b>

<hr>

<%
'宣言
Dim OBJdbConnection
Dim RecordSetObj

'Connectionオブジェクトの生成と設定
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.ConnectionString = "DSN=DSN01;UID=USER01;PWD=PASS01"

'1. コネクション接続
OBJdbConnection.Open

'1. Connectionオブジェクトの生成と設定

'2. Recordsetオブジェクトの生成
Set RecordSetObj = Server.CreateObject("ADODB.Recordset")

'3. Recordsetオブジェクトを開く
RecordSetObj.Open "SELECT * FROM TESTTBL",OBJdbConnection, _
                  adOpenStatic, _
                  adLockPessimistic, _
                  adCmdText

'4. データの編集(rdoResultsetに1行もデータがない場合は行を追加する)
If RecordSetObj.BOF And RecordSetObj.EOF Then
    RecordSetObj.AddNew
End If

RecordSetObj.Fields(0).Value = 500
RecordSetObj.Fields(1).Value = 11111.111
RecordSetObj.Fields(2).Value = "2007/04/10"
RecordSetObj.Fields(3).Value = "UPDATE DATA"

'5. INSERT文/UPDATE文の実行
RecordSetObj.Update

'メッセージの表示
Response.Write "行を更新しました<br>"

'6. Recordsetオブジェクトを閉じる
RecordSetObj.Close

'7. コネクション切断
OBJdbConnection.Close

'8. オブジェクトの破棄
Set RecordSetObj = Nothing
Set OBJdbConnection = Nothing

%>

<hr>
</body>
</html>