我有一个大表,该表将数据插入数据库中。的ColdFusion - 形式绑定到数据库
- 运行查询
- 使用大量像在输入框中
value="<cfoutput>getData.firstname#</cfoutput>
线:当用户编辑我有表的问题。
有没有办法通过cfc或cfm文件将表单输入框绑定到数据库?
非常感谢,
ř
我有一个大表,该表将数据插入数据库中。的ColdFusion - 形式绑定到数据库
value="<cfoutput>getData.firstname#</cfoutput>
线:当用户编辑我有表的问题。有没有办法通过cfc或cfm文件将表单输入框绑定到数据库?
非常感谢,
ř
查询对象包括columnList,这是一个以逗号分隔的返回的列的列表。
如果安全性和可读性不是一个问题,您可以随时在这个循环。但是,它基本上消除了您执行某些操作的机会,例如锁定某些列,减少了进行任何验证的能力,并且意味着您只需使用列名称标记表格框,或者找到为每列存储标签的方法。
然后,您可以做一个插入/更新/不管他们。
我不建议这样做,因为这将是几乎不可能安全,但它可能让你你要去哪里。
如果您正在使用CF 9,你可以使用ORM(对象关系管理)功能(通过氟氯化碳) 为这个网上章 https://www.packtpub.com/sites/default/files/0249-chapter-4-ORM-Database-Interaction.pdf
乘坐(PDF的6页起)中描述看看<cfgrid>
,如果你编辑表格,它会是最简单的,它可以触发每行更新1次。
为了防止XSS安全,你应该使用<input value="#xmlFormat(getData.firstname)#">
,尽量减少<cfoutput>
标签#。如果使用<cfinput>
,则不需要XmlFormat()
。
如果你正在寻找一种简单的方法不必指定插入查询cfinsert的所有列名会尝试所有你提交给数据库列名的表单名称映射。
http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7c78.html
这确实是一个很好的问题。我毫不怀疑迄今给出的答案是有帮助的。我面临同样的问题,只有我的桌子没有那么多的领域。
%的文档EntityNew()
语法表明,你可以实例化对象时,包括数据:
artistObj = entityNew("Artists",{FirstName="Tom",LastName="Ron"});
,而不必实例化,然后通过字段中添加数据字段。在我来说,我不得不做的是:
artistObj = entityNew("Artists", FORM);
EntitySave(artistObj);
ORMFlush();
注意 它从你的问题,你可能正在运行的插入或更新查询显示。使用ORM时,您不需要那样做。但我可能错了。