如何使用 ColdFusion 同时更新所有行中的数据
我想问一下如何同时更新所有行的数据。这是我的 SQL:
<cfloop index="#form.ppp_id#">
<cfquery name="viewPoint" datasource="#application.DataSource#">
update PCRS_PHOTOPOINT set PPP_POINT_FROM = #form.point_from#,
PPP_POINT_UNTIL = #form.point_until#,
PPP_UPDATE_DATE = SYSDATE, PPP_ICONS_NAME = '#form.icons_name#'
where PPP_ID = #form.ppp_id#
</cfquery>
</cfloop>
我收到此错误:
标签“CFLOOP”的属性验证错误
I want to ask how to update data in all row at the same time. This is my SQL:
<cfloop index="#form.ppp_id#">
<cfquery name="viewPoint" datasource="#application.DataSource#">
update PCRS_PHOTOPOINT set PPP_POINT_FROM = #form.point_from#,
PPP_POINT_UNTIL = #form.point_until#,
PPP_UPDATE_DATE = SYSDATE, PPP_ICONS_NAME = '#form.icons_name#'
where PPP_ID = #form.ppp_id#
</cfquery>
</cfloop>
I got this error:
Attribute validation error for tag 'CFLOOP'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根本不需要使用循环。您可以使用 SQL 的
in
运算符而不是=
一次性更新所有值列表,而不是在循环中执行 SQL 语句。另外,正如其他人已经提到的,您最好使用 cfqueryparam 而不是将用户提供的字符串直接传递到数据库。There's no need to use a loop at all. You can use SQL's
in
operator instead of=
to update a list of values all at once, instead of executing a SQL statement in a loop. Also, as someone else already mentioned, you'd better be usingcfqueryparam
instead of passing user-supplied strings straight to the DB.你应该这样做:
让我知道进展如何。
You should be doing it like this:
Let me know how it goes.