0

私は非常に単純なページを作成しようとしている ASP の初心者です。この機能は、ユーザーからの 2 つの入力を受け入れ、次のページにそれらに基づくレポートを表示することです。レポートのデータは、ASP ページの SQL クエリによって取得されます。

これは私が今までやってきたことです:

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=MSDAORA;
                       Data Source=şemam;
                       User Id=xyz;
                       Password=xyz;"
aranan = Request("aranan")

Set objRs = objConn.Execute("select * from my_department where user_id = <input from user>")
if objRs.BOF and objRs.eof then
  response.end
end if

私が直面している問題は、クエリでユーザー入力を適切に渡す方法が見つからないことです。

助けてください!

4

2 に答える 2

1

パラメータをデータベース クエリに送信するには、コマンド オブジェクトを使用する必要があります。

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=MSDAORA;" & _
             "Data Source=şemam;" & _
             "User Id=xyz;" & _
             "Password=xyz;"
aranan = Request("aranan")

Set objCmd = Server.CreateObject("ADODB.Command")
Set objCmd.ActiveConnection = objConn
objCmd.CommandText = "SELECT * FROM my_department WHERE user_id = ?"
objCmd.CommandType = 1

Set objRs = objCmd.Execute(, array(aranan))
if not objRs.EOF then
' Do whatever you need to with the result...
end if
objRs.Close
objConn.Close

接続を閉じる前に応答を終了しないでください。そうしないと、接続プールが使い果たされてしまいます。

于 2012-09-25T19:19:43.640 に答える