2012-05-11 34 views
0

我剛剛從傳統的ASP切換到.NET,我總是用下面的執行SELECT,INSERT,UPDATE和我的MySQL數據庫的DELETE:通過asp.net(VB)選擇,更新,插入和刪除MySQL的腳本?

' Create db connection 
Function dbConn() 
    Set objConn = Server.CreateObject("ADODB.Connection") 
    objConn.Open "driver=x;Server=x;Port=x;Option=x;Database=x;Uid=x;Pwd=x" 
    Set dbConn = objConn 
End Function 

' Store data in array 
Function SQL(myCommand,strSQL) 
    Set objConn = dbConn() 
    If myCommand = 0 Then 
     Set objRS = objConn.Execute(strSQL) 
     If NOT objRS.EOF Then arrRS = objRS.GetRows Else arrRS = Null 
    Else 
     Set objRS = objConn.Execute(strSQL,,128) 
    End If 
    Set objRS = Nothing : Set objConn = Nothing 
End Function 

例如,使用SELECT我只是去:

Call SQL(0,"SELECT * FROM Users") 

,並顯示數據:

If IsArray(arrRS) Then 
    For i = 0 to UBound(arrRS,2) 
     Response.Write(arrRS(0,i) & ", " & arrRS(1,i)) 
    Next 
End If 

並插入,更新或刪除我會使用:

Call SQL(1,"DELETE FROM Users WHERE UserID = 1") 

有誰知道這是可能的ASP.Net - VB? 還是有更好的解決方案嗎?

乾杯。

+0

看看ado.net或EDM,ado.net - http://www.codeproject.com/Articles/8477/Using-ADO-NET-for-beginners –

+0

這不是一個自作聰明,但你真的應該拿起一本關於ASP.NET或ASP.NET MVC的書;它與傳統的ASP非常*不同,每當你遇到一個令人困惑的概念時,你都無法通過摸索來提問,因爲它會不斷髮生。 –

+0

只接受一個sql字符串並返回數據的函數是一個已知的反模式。你不應該那樣做。原因是它強制使用字符串連接來將數據替換到您的查詢中......換句話說,它會創建sql注入安全問題,這是一個大問題** ......您不應該忽視這一點。 –

回答

2

是的,你當然可以用VB.NET來做到這一點。 VB.NET幾乎支持ASP classic和vbscript所能做的一切。 ADO.NET幾乎支持ADO所做的一切。

...不是你想要這樣做。

我強烈建議你看看ASP.NET允許的模式和實踐。新方法比舊方法好得多。

相關問題