カーソル位置づけでのデータ更新を行うサンプルコードについて説明します。
本サンプルコードは、Recordsetオブジェクトを使用してデータ更新を行います。Recordsetオブジェクトに行が1行もない場合には行を挿入し、1行以上ある場合には1行目を更新します。
アプリケーションの手順
コネクションを接続します。詳細は、“D.4.1 接続および切断”を参照してください。
Recordsetオブジェクトを生成します。
Recordset.OpenメソッドでRecordsetオブジェクトを開きます。
データを編集します。(行がない場合は行を挿入します)
Recordset.BOFプロパティでカレント行がBOFかを確認します。
Recordset.EOFプロパティでカレント行がEOFかを確認します。
Recordset.AddNewメソッドでRecordsetオブジェクトに新しい行を作成します。
Field.Valueプロパティへ値を設定します。
Recordset.UpdateメソッドでRecordsetオブジェクトの編集内容によりINSERT文かUPDATE文を実行します。
Recordset.CloseメソッドでRecordsetオブジェクトを閉じます。
コネクションを切断します。
オブジェクトを破棄します。
エラー処理については、“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>