2011-06-05 85 views
1

我有一個「古老的」網頁,我需要向它灌輸一些數據庫功能,恐怕我不知所措,因爲我找不到足夠的資源如何做以及查詢如何進行到傳統的ASP。經典的asp表單處理

所以這基本上是怎麼回事,我有一個表單驗證器,它是用jQuery編寫的,一旦表單被驗證,我想用$ .post請求發送數據到表單處理器(某種經典的asp文件)。

我嘗試使用Request.Form(「字段」),但它不工作。 我甚至試過使用Request.QueryString(「field」)的$ .get請求,並且我也沒有成功。

一些代碼:

Dim sConnection, objConn , objRS 
sConnection = "connection string" 
username = Request.QueryString("username") 
sitename = Request.QueryString("site_name") 
email = Request.QueryString("email") 
comment = Request.QueryString("comment") 
dataInsert = ("INSERT INTO larrydb_review (username, sitename, email, comment, rating) values (username, sitename, email, comment, rating)") 
Set objConn = Server.CreateObject("ADODB.Connection") 
objConn.Open(sConnection) 

objConn.Execute dataInsert 

我假設的SQL查詢字符串不正確寫的,但我怕我還沒發現那裏寫一個正確使用ASP變量。

任何幫助將不勝感激, 謝謝。

回答

2

如果您使用的是METHOD = POST的表單,以檢索你的ASP頁面發送的數據:

username = Request.form("username") 
sitename = Request.form("site_name") 
email = Request.form("email") 
comment = Request.form("comment") 

然後更新您必須創建一個動態的字符串作爲SQL表:

sConnection = "Provider=SQLNCLI.1;Password=YOUR_PASSWORD;Persist Security Info=True;User ID=YOU_USER_ID_FOR_DB;Initial Catalog=YOUR_DATABASE_NAME;Data Source=IP_YOUR_DB_SERVER;Use Regional Settings: Yes" 
dataInsert = "INSERT INTO larrydb_review (username, sitename, email, comment, rating) values ('" & username & "', '" & sitename & "', '" & email & "', '" & comment & "', '" & rating & "')" 

而且您的變量sConnection =「連接字符串」必須正確與數據庫這樣的例子在連接字符串填寫

+1

確保在SQL查詢中運行它們之前清理值:否則有人可以在其表單值中包含SQL片段並執行舊式SQL注入攻擊。 – Beejamin 2011-06-08 11:50:27

0

搜索Google圖書。一個例子:http://books.google.com/books?id=LtdykpJvgXQC&pg=PA95&dq=asp+createobject.adodb.connection+insert.into&hl=en&ei=H0_rTbjqIMjiiAL_le3gCA&sa=X&oi=book_result&ct=result&resnum=1&ved=0CC0Q6AEwAA#v=onepage&q&f=false

構建使用字符串連接符 「&」 你的INSERT字符串:

query = "INSERT INTO bleah (foo, bar) VALUES ('" & myfoo & "', '" & mybar & "')"

books.google.com是這樣的事情一個很好的資源。自90年代中期以來,我沒有編寫經典的ASP程序。