2013-03-08 52 views
0

我試圖讓這個工作,但它不工作,因此想知道如果任何人在這裏能夠幫助我解決這個問題。問題在於select語句運行後,我無法將SQL查詢列存儲到VBScript變量中。我只是希望將用戶的名字和姓氏存儲到SQL查詢運行時user_id和密碼與數據庫匹配的變量中。這樣我可以顯示他們的名字,如歡迎「名字,姓氏」。我的數據庫連接到數據庫和一切,但我只是不知道如何將某些人名從oracle存儲到VBScript變量,我可以在同一頁上顯示歡迎John Smith或其他東西。SQL&VBScripts:如何將SQL查詢列(USER_FIRSTNAME)存儲到VBScript變量中?

請不要擔心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")和它仍然無法正常工作,因爲它需要從查詢第一存儲到一個變量,我不知道如何做到這一點:(

+1

ASP不是PHP ASP不是天冬氨酸.Net。 – Ben 2013-03-08 12:23:57

回答

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 
+0

這沒有解決我的問題,如果你看到我的代碼應該只有一兩行需要添加,以便名字可以存儲到一個變量,然後我可以使用response.write(firstnameVariable)這將只需顯示用戶的名稱。你讓它變得複雜。這不是很複雜,我知道它不是,但我只是不知道該怎麼做。 – Bende 2013-03-08 12:29:26

+0

有些時候,正確的方式更復雜(儘管在這個例子中它確實不是)。無論哪種方式,我提供了一個可以使用的例子。看看你的變量「QueryResult」。我想你的查詢結果正在被放入那裏。嘗試迭代它,就像我在我的例子中所做的那樣(while dr.read ...) – jason 2013-03-08 13:01:13

+0

對不起,實際上你錯誤地標記了你的問題。我認爲它是爲.Net應用程序,但它確實是VBScript。我從你的問題中刪除了標籤,你應該得到更好的結果。 – jason 2013-03-08 13:03:26