私は、VisualScriptのClassic ASPを使用して、パラメータ化されたSQLクエリを実行する最も簡単な方法を教えてもらえますか?Classic ASPでパラメータ化されたSQLクエリを作成するには?
コンパイル可能な例が最適です。
私は、VisualScriptのClassic ASPを使用して、パラメータ化されたSQLクエリを実行する最も簡単な方法を教えてもらえますか?Classic ASPでパラメータ化されたSQLクエリを作成するには?
コンパイル可能な例が最適です。
はは、ADODB.Commandオブジェクトを使用します。
はここのリンクです。
with createobject("adodb.command")
.activeConnection = application("connectionstring")
.commandText = "select * from sometable where id=?"
set rs = .execute(,array(123))
end with
adodbを直接使用する代わりに、カスタムdbアクセスオブジェクトを使用することもお勧めします。これにより、より良いApiを構築し、テスト容易性を向上させ、デバッグ/ロギング/プロファイリングのフックを追加することができます。第2に、class_terminiateイベントを使用して、暗黙のロールバックにエラーがあるリクエストスコープのトランザクションを追加できます。ウレDBアクセスオブジェクトは、adovbs.inc
含めへ次のクエリAPI
call db.execute("update some_table set column=? where id=?", array(value, id))
set rs = db.fetch_rs("select * from some_table where id=?", array(id))
count = db.fetch_scalar("select count(*) from some_table where column > ?", array(value))
これでエラーを処理するにはどうすればよいですか? – Geshan
非常にエレガントで最小のvbscript - 私はそれが好きです! –
列が数値で値がnullの場合、これは機能しません。これがADODB.Command.CreateParameterを使用せずに動作する方法はありますか? –
私はあなたがパラメータ化されたSQLクエリを指していると仮定しています。
Set adoCon = Server.CreateObject("ADODB.Connection")
adoCon.Open "connectionstring"
SET cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = adoCon
cmd.CommandType= adCmdStoredProc
cmd.CommandText = "GetCustomerByFirstName"
cmd.Parameters.Append cmd.CreateParameter("@FirstName",adVarchar,adParamInput,50,"John")
Set Rec = cmd.Execute()
While NOT Rec.EOF
'code to iterate through the recordset
Rec.MoveNext
End While
がUPDATE:あなたが認識される定数のADOVBS.incファイルをインクルードする必要があり、このような場合は、その後、VBScriptのコードは次のようになります。 ADOVBS.inc
私はASPにadVarcharとadParamInput定数を認識させるためにいくつかのファイルを含める必要がありますか? –
はい。そのファイルへのリンクhttp://www.asp101.com/articles/john/adovbs/adovbs.inc.txt –
この提案は、ストアドプロシージャのシナリオで非常に役立ちました – Thanigainathan
パラメータ化されたSQLクエリを参照していますか? –
はい。明確にするために質問を更新するつもりです。ありがとう! –