アプリケーションの手順
コネクションを接続します。詳細は、“D.4.1 接続および切断”を参照してください。
Commandオブジェクトを生成します。
Command.ActiveConnectionプロパティに手順1で生成したConnectionオブジェクトを設定します。
Command.CommandTextプロパティにUPDATE文を設定します。
Command.CommandTypeプロパティにCommandTypeEnum.adCmdTextを設定します。
Parameterオブジェクトの生成と設定をします。
Parameter.Nameプロパティには、オブジェクト名前を任意で設定します。
Parameter.Typeプロパティには、データ型を設定します。
Parameter.Directionプロパティには、パラメタが入力パラメタ(adParamInput)であることを設定します。
文字列型のParameter.Sizeプロパティには、データの最大サイズをバイト数で設定します。
Parameter.Valueプロパティには、値を設定します。
Parameter.Precisionプロパティには、精度を設定します。
Parameter.NumericScaleプロパティには、値の小数点以下の桁数を設定します。
ParametersコレクションにParameterオブジェクトを追加します。SQL文中のパラメタマーカ('?')の出現順に追加してください。
Command.ExecuteメソッドでUPDATE文を実行します。
引数RecordsAffectedを指定しExecuteメソッドで影響を受けた行数を取得します。
コネクションを切断します。
オブジェクトを破棄します。
エラー処理については、“D.4.10 エラー処理”を参照してください。
<%@ language="vbscript" %> <!-- #include file = "adovbs.inc" --> <html> <head> <title>パラメタマーカ('?')を使用したSQL文での更新</title> </head> <body bgcolor="White"> <b>パラメタマーカ('?')を使用したSQL文での更新</b> <hr> <% '宣言 Dim OBJdbConnection Dim OBJdbCommand Dim OBJdbParameter1,OBJdbParameter2,OBJdbParameter3,OBJdbParameter4 Dim RecordsAffected 'Connectionオブジェクトの生成と設定 Set OBJdbConnection = Server.CreateObject("ADODB.Connection") OBJdbConnection.ConnectionString = "DSN=DSN01;UID=USER01;PWD=PASS01" '1. コネクション接続 OBJdbConnection.Open '2. Commandオブジェクトの生成と設定 Set OBJdbCommand = Server.CreateObject("ADODB.Command") OBJdbCommand.ActiveConnection = OBJdbConnection OBJdbCommand.CommandText = "UPDATE TESTTBL SET DEC_C=?,DAT_C=?,CHA_C=? WHERE KEY_C=?" OBJdbCommand.CommandType = adCmdText '3. Parameterオブジェクトの生成と設定 Set OBJdbParameter1 = OBJdbCommand.CreateParameter OBJdbParameter1.Name = "Pm1" OBJdbParameter1.Type = adNumeric OBJdbParameter1.Value = "2000.222" OBJdbParameter1.Precision = 10 OBJdbParameter1.NumericScale = 3 Set OBJdbParameter2 = OBJdbCommand.CreateParameter OBJdbParameter2.Name = "Pm2" OBJdbParameter2.Type = adDate OBJdbParameter2.Value = "2007/04/10" Set OBJdbParameter3 = OBJdbCommand.CreateParameter OBJdbParameter3.Name = "Pm3" OBJdbParameter3.Type = adChar OBJdbParameter3.Value = "UPDATE DATA" OBJdbParameter3.Size = 250 Set OBJdbParameter4 = OBJdbCommand.CreateParameter OBJdbParameter4.Name = "Pm4" OBJdbParameter4.Type = adInteger OBJdbParameter4.Value = "401" '4. ParametersコレクションにParameterオブジェクトを追加 OBJdbCommand.Parameters.Append OBJdbParameter1 OBJdbCommand.Parameters.Append OBJdbParameter2 OBJdbCommand.Parameters.Append OBJdbParameter3 OBJdbCommand.Parameters.Append OBJdbParameter4 '5. UPDATE文実行 OBJdbCommand.Execute RecordsAffected 'メッセージの表示 Response.Write RecordsAffected Response.Write "行更新されました<br>" '6. コネクション切断 OBJdbConnection.Close '7. オブジェクトの破棄 Set OBJdbParameter1 = Nothing Set OBJdbParameter2 = Nothing Set OBJdbParameter3 = Nothing Set OBJdbParameter4 = Nothing Set OBJdbCommand = Nothing Set OBJdbConnection = Nothing %> <hr> </body> </html>