2013-04-20 58 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