将 SQL 函数作为值传递的正确方法
Correct way to pass in a SQL function as a value
我想在每次用户更新记录时更新记录的 DateUpdated 字段。
我想我应该这样做:
<cfquery>
UPDATE
dbo.MyTable
SET DateUpdated = <cfqueryparam value="GetDate()" />
</cfquery>
我不知道这是否正确。函数没有 cfsqltype
属性值。在这种情况下,我只是这样做吗
<cfquery>
UPDATE
dbo.MyTable
SET DateUpdated = GetDate()
</cfquery>
第一个不起作用,因为您参数化了 SQL 函数名称,因此它会将 "GetDate()" 作为文字字符串传递。但是,如果您将 "GetDate()" 替换为“#Now()#”,它应该可以工作,因为您是从 ColdFusion 函数传递值。
第二个应该可以按原样工作。
我想在每次用户更新记录时更新记录的 DateUpdated 字段。
我想我应该这样做:
<cfquery>
UPDATE
dbo.MyTable
SET DateUpdated = <cfqueryparam value="GetDate()" />
</cfquery>
我不知道这是否正确。函数没有 cfsqltype
属性值。在这种情况下,我只是这样做吗
<cfquery>
UPDATE
dbo.MyTable
SET DateUpdated = GetDate()
</cfquery>
第一个不起作用,因为您参数化了 SQL 函数名称,因此它会将 "GetDate()" 作为文字字符串传递。但是,如果您将 "GetDate()" 替换为“#Now()#”,它应该可以工作,因为您是从 ColdFusion 函数传递值。
第二个应该可以按原样工作。