アプリケーションの手順
コネクションを接続します。詳細は、“C.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メソッドで影響を受けた行数を取得します。
コネクションを切断します。
オブジェクトを破棄します。
エラー処理については、“C.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>