0

私はこれを機能させようとしましたが、機能していません。したがって、ここにいる誰かがこの問題を解決するのを手伝ってくれるかどうか疑問に思っていました。問題は、selectステートメントの実行後にSQLクエリ列をVBScript変数に格納できないことです。SQLクエリの実行時に、データベース内でuser_idとpasswordが一致する変数に、ユーザーの名と姓を格納するだけです。ウェルカム「firstname、lastname」のように名前を表示できるようにします。私のデータベースはデータベースとすべてに接続しますが、特定の人の名前をoracleからVBScript変数に格納する方法がわかりません。この変数は、同じページに表示して、JohnSmithなどを歓迎します。

SQLインジェクションについては心配しないでください。現時点では必要ありません。

以下はASPファイルコードです。

<%@ Language=VBScript %>

<%user_id=Request("user_id") user_pwd=Request("user_pwd") %>

<% Set DBConn = Server.CreateObject("ADODB.Connection")
   DBConn.Open "Driver={Oracle in OraClient11g_home1};DBQ=ORCL;UID=ops$dbID;PWD=dbPWD;"
   Login = "SELECT USER_ID, USER_FIRSTNAME, USER_SURNAME FROM UserTable WHERE USER_ID = '" & user_id & "' AND USER_PWD='"& user_pwd &"';"

   Set QueryResult = DBConn.Execute(QueryToRun)

   QueryResult.Close

   DBConn.Close
%>

試しresponse.write("USER_FIRSTNAME")ても、方法がわからないクエリから最初に変数に格納する必要があるため、機能しません:(

4

1 に答える 1

2

これは、Oracleデータベースにクエリを実行してデータリーダーを返す方法の例です。データリーダーは、VBで繰り返すことができます。

data_source = "Driver={Oracle in OraClient11g_home1};DBQ=ORCL;UID=ops$dbID;PWD=dbPWD;"
Set con = Server.CreateObject("ADODB.Connection")
con.Open data_source
Set rs = Server.CreateObject("ADODB.Recordset")
sqlread = "SELECT USER_ID, USER_FIRSTNAME, USER_SURNAME FROM UserTable WHERE USER_ID = '" & user_id & "' AND USER_PWD='"& user_pwd &"';"

rs.Open sqlread, con
Do while not rs.eof
  FName=rs.fields("USER_FIRSTNAME")
rs.Movenext
Loop
于 2013-03-08T12:14:07.287 に答える