[英]What is the best way to get values from a ColdFusion QueryBean with C#
我必須調用返回QueryBean的ColdFusion Web服務。 它返回一組具有我要尋找的值的復雜數組。 當我打電話時,我得到了期望的數組中的所有數據,但是現在我試圖獲取數據,它不斷告訴我我缺少了某些東西,或者我無法對對象使用索引。
我在VS2010中創建了一個稱為DAM_Search的Web引用,並使用此命令進行調用。
DAM_Folder.folderService obj_Folder = new DAM_Folder.folderService();
DAM_Folder.QueryBean qBean = bj_Folder.getfolder("1-Key", str_Folder_ID);
我得到的是qBean,其中包含4個數組,前兩個數組是
qBean.columnList[10]
qBean.columnListField[10]
並包含數據行中使用的字段的名稱。 接下來有
qBean.data[4]
qBean.dataField[4]
這是返回數據的地方。 在上面的示例中,qBean返回4行數據。 數據位於一個數組中,其中具有columnList[10]
命名的列的值。
我認為,由於一張圖片的價值不超過1000字,所以這可能會有所幫助。
(來源: sapp-family.com )
我現在想做的是從qBean.data[0][0]
的內部數組獲取數據。 我在立即窗口中嘗試? qBean.data[0]
? qBean.data[0]
它返回正確的值數組。
我嘗試了以下
? qBean.data[0][0]
"Cannot apply indexing with [] to an expression of type 'object'"
? qBean.data[0].[0]
Identifier expected
? qBean.data[0,0]
Wrong number of indices inside []; expected 1
因此,我的Stackoverflow同伴用戶,我需要做什么來獲取該對象的值? 我認為這很簡單,我只是在想一想,但這只是讓我感到困惑。
我會嘗試qBean.data [0] [0] .toSting()
好的,所以我得到了跟蹤,沒有回過頭來解決原始問題。 對於那個很抱歉...
我對這個問題的解決方案是將qBean.Data[0]
為IEnumerable
對象。 然后,我通過一個foreach
循環來運行它,該循環將數據饋送到一個數組中,然后可以將其傳遞回調用函數。 例如;
string[] FileData = new string[0];
foreach (var var_Value in (IEnumerable)qBean.data[0])
{
Array.Resize<string>(ref FileData, FileData.Length + 1);
FileData[FileData.Length-1] = var_Value.ToString();
}
現在我知道這工作,我會從QueryBean其他數組拉數量和設置FileData[]
規模之前,我開始foreach
所以我沒有到陣列的21倍與復制Array.Resize<>
。 雖然目前我正在使用的數據很小,但我永遠不知道將來的數據。
提姆
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.