2010-06-14 74 views
4

如果我想將聯繫表單提交保存到數據庫,如何在提交時插入表單作用域?自從我使用Coldfusion以來已經有一段時間了。將Coldfusion結構插入數據庫

聯繫表單根據提交的網站部分而有所不同,因此需要擴展和處理帶有5個字段或10個字段的表單。我只想將數據存儲在blob表中。

回答

8

大多數節省空間的方法並且最簡單的方法就是使用serializeJSON。之後,您可以使用key:value | key:value或結構的XML表示形式。

+0

好的,我使用該功能,並能夠將它傳遞給CFC插入到我的表中。我可以看到數據庫中的數據,但是現在CF在我提交表單後就坐在'Waiting ...'。是什麼導致它掛起? – Kevin 2010-06-14 19:26:18

+0

?使用Ajax表單提交?用Firebug進行調試。它不應該掛起。 – Henry 2010-06-14 19:28:19

+0

沒關係,SMTP信息在cfmail上是錯誤的。 – Kevin 2010-06-14 19:33:51

0

如果不能正常化表單字段到合適的桌,你可以嘗試將它們存儲:

  • 在XML(SQL Server支持XML非常好),或
  • 在JSON(在一個普通的varchar字段中)或
  • ObjectLoad() & ObjectSave()(僅限CF9)存儲爲blob。

IIRC通過點擊進入Java,可以在CF9之前獲得對象加載/保存功能。 http://www.riaforge.org/http://cflib.org/可能有它。

0

我不知道有一種方法可以將本地結構存儲到數據庫中,但是您是否考慮過使用JSON將對象表示爲鍵對值,然後在檢索它之後將其解析爲本機結構從數據庫?

有標籤/功能在那裏,這將幫助你的編碼和解碼成JSON:

+0

由於您使用的是CF8,只需使用SerializeJSON()/ DeserizlieJSON()即可。無需使用第三方庫。 – Henry 2010-06-14 19:26:43

+0

我同意,我只是提到提問者CF7或更低的機會。否則,這些功能就是要走的路。 – 2010-06-14 20:00:48

2

Cfwddx也是一種選擇。

+0

你爲此投下了我的票?這是一個非常有效的答案。 – 2010-06-14 19:55:50

+0

有點強!它給你XML的事實可能在其他服務器端語言中更有用,而不是這個新的JSON :) – 2010-06-14 20:03:06

+0

我不知道,WDDX就像Flash Form。他們只是出於向後兼容的原因。我們不應該再推廣使用它們了。同意? – Henry 2010-06-14 20:08:21