【发布时间】:2012-01-10 19:50:33
【问题描述】:
我正在查看一些旧代码,发现一个我无法理解的部分......据我所知,这只是一个简单的插入。但他们为什么这样做呢?是否可以重写为插入,或者我可能会破坏某些东西?
请看下面:
Set TextRS = Server.CreateObject("ADODB.RecordSet")
Set TextRS.ActiveConnection = Conn
TextRS.Source = "SELECT IDX,TIMESTAMP,CURRENTFLAG,TEXT FROM " & TextTable & " WHERE 1=2 FOR UPDATE"
TextRS.CursorLocation = 2
TextRS.CursorType = 3
TextRS.Open ,,,3
TextRS.AddNew
TextRS(0).Value = IDX
TextRS(1).Value = Timestamp
TextRS(2).Value = "Y"
TextRS(3).AppendChunk TextPiece
TextRS.Update
TextRS.Close
【问题讨论】:
-
这是对插入语句进行参数化并避免 SQL 注入的一种方法。如果您确实将其更改为插入语句,请确保将查询参数化。
标签: sql-server sql-server-2008 asp-classic adodb cursor-position