2014-04-24 32 views
-1

我面臨着一個奇怪的情況在這裏:CRM 2011不能在自定義字段C#中檢索加密字符串

我有一個自定義實體「My_Entity」,我已經用在形式CryptoJS保存事件Javascript功能來加密兩個字段FIELD1,域2。這些字段被加密,然後保存在數據庫中。

現在我想以檢索兩個字段早在對自定義頁面C#解密和頁面顯示:

我有一個檢索多個查詢:

 QueryExpression retrievquery = new QueryExpression("My_Entity"); 
     retrievquery.ColumnSet = new ColumnSet(new string[]{"field1","field2"}); 
     EntityCollection AllRecords = Common.Common.RetrieveMultiple(retrievquery); 

現在

Entity Legal= AllRecord.Entities[0]; 

法律不包含field1和field2,但只包含記錄的GUID。是加密文本的任何可能的問題。

回答

1

您需要訪問EntityCollection對象的Entities集合。

嘗試用

Entity Legal = AllRecords.Entities[0]; 

而且最好你檢查,如果你有至少一個元素之前:

if (AllRecords.Entities.Count > 1) { ... } 
+0

對不起,這是一個錯字,但我發現什麼是真正的問題 –

+1

如果你修復了這個問題,並且沒有連接到你發佈的代碼,請刪除你的問題,這樣用戶尋找動態crm加密將避免它。 –

+0

我已經發布了答案,希望這有助於某人。 –

-1

我不知道有什麼問題嗎,

但我檢查在數據庫中並且有必填字段爲NULL的記錄。 我使用刪除查詢從數據庫中刪除了所有垃圾記錄。

然後我檢索,它工作正常。 :) 所以真正的問題是具有必填字段NULL的記錄。 NULL是在需要字段之前插入到DB中的。 希望這可以幫助別人。

這個想法出現在我的腦海裏,因爲昨天我運行升級到CRM 2013的自定義驗證工具,它沒有檢索任何CRM記錄。然後我谷歌,它說,將有NULL WebResources。

+0

我相信它會@AndriiButenko沒有任何理由不好投票下來。 –

相關問題