我有一個大表,該表將數據插入數據庫中。的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時,您不需要那樣做。但我可能錯了。