我有一個Web應用程序,頁面上是更新頁面來更新一些配置文件信息。以下是我用來更新表格的代碼。但我認爲這是錯誤的。有什麼突出的東西嗎?連接字符串的工作原因是它用於讀取數據庫以獲取配置文件信息,因爲它包含數據庫的密碼/登錄信息,所以我只是將其刪除。Web窗體不更新表,爲什麼?
球員是類屬性,它包含玩家信息和DS是數據集,但我想更新數據庫本身在線...
Dim connectionString As String = ""
Dim GigsterDBConnection As New System.Data.SqlClient.SqlConnection(connectionString)
GigsterDBConnection.Open()
Dim updatetoursql As String = "UPDATE PLAYERS SET FIRSTNAME = '" & player.FIRSTNAME & "', LASTNAME = '" & player.LASTNAME & "', ADDRESS = '" & player.ADDRESS & "', CITY = '" & player.CITY & "', ZIP = '" & player.ZIP & "', PHONE = '" & player.PHONE & "', EMAIL = '" & player.EMAIL & "', REFFEREDBY = '" & player.REFEREDBY & "' "
updatetoursql = updatetoursql & "PLAYERID = '" & player.PLAYERID & "';"
Dim cmd As New System.Data.SqlClient.SqlCommand(updatetoursql, GigsterDBConnection)
Dim sqlAdapter As New System.Data.SqlClient.SqlDataAdapter(cmd)
sqlAdapter.Update(ds, "PLAYERS")
我認爲這個問題是什麼最後3行的代碼。我是對的還是他們更好的方式?
感謝
+1用於指出此代碼已廣泛用於SQL注入。如果一個字段中有一個單引號就會失敗,例如奧馬利姓氏的球員。 – 2010-04-11 13:48:53
或想象一下,如果他叫'羅伯特'); DROP TABLE PLAYERS; - ':-) http://xkcd.com/327/ – 2010-04-11 13:57:03
我知道sql注入。我只是想讓腳本起作用。它仍然沒有提交更改。 – JPJedi 2010-04-11 14:27:52