2013-04-20 59 views
0

所以我有一個SQL更新聲明probem。VB Web開發/ SQL GETDATE()

時,下面的代碼在用戶登錄運行我運行它:

Dim UpdateSQL As String 
UpdateSQL = "UPDATE tblUsers SET LoginDate = GETDATE()" 
UpdateSQL = UpdateSQL & " WHERE ID = '" & Session("ID") & "'" 

我認爲是與Session("ID")一部分,當我明確地調用了什麼記錄更新的作品就好了問題。

+0

那麼,你的問題是什麼? – zkanoca 2013-04-20 23:27:25

+0

第一:[SQL注入警告](http://en.wikipedia.org/wiki/SQL_injection)!,第二:不是你的'ID'是數字數據類型嗎? – 2013-04-20 23:27:29

+0

ID是int類型。它是表中用戶的主鍵。 – Gek 2013-04-20 23:33:31

回答

1

如果您IDint類型的,你應該忽略'

UpdateSQL = UpdateSQL & " WHERE ID = " & Session("ID") 

但要注意的SQL injection

此外,也許最好不要使用Session("ID")。我猜你在登錄用戶時得到了ID。將值存儲在變量中,並在查詢中使用此變量,而不是會話。

+0

新的錯誤現在進一步下去不會運行命令: myReader.Close() myCmdUp.ExecuteNonQuery()'錯誤指向這裏說''附近語法不正確。 MyConnection.Close() – Gek 2013-04-20 23:44:36

+0

那麼,我們甚至不知道你的第一個錯誤,你沒有發佈任何消息。 – 2013-04-20 23:45:16

+0

抱歉不斷輸入併發布評論。全新的:) – Gek 2013-04-20 23:46:19