2016-08-15 32 views
1

我試圖通過WSDL查詢使用來自CRM4數據庫GUID字段,但我不能確定如何將多個GUID值傳遞到數據庫中,如果我嘗試做到這一點的結果出現錯誤:傳遞一個GUID作爲一個CRM過濾選項

0x80040216 發生意外錯誤。 平臺

,我傳遞中的代碼如下:

Dim cond2 As CrmService.ConditionExpression = New CrmService.ConditionExpression 
cond2.Operator = CrmService.ConditionOperator.In 
cond2.AttributeName = "createdby" 
cond2.Values = {"3398448B-D65B-E611-95A2-000D3AB23B6B", "1196E35B-E05B-E611-95A2-000D3AB23B6B"} 

任何想法,以什麼可能導致這個錯誤,我怎麼能正確地傳遞多個GUID值進入狀態值。

我也曾嘗試:

cond2.Values = {New Guid("3398448B-D65B-E611-95A2-000D3AB23B6B"), New Guid("1196E35B-E05B-E611-95A2-000D3AB23B6B")} 

並且:

Dim testGuid As New UniqueIdentifier 
testGuid.Value = New Guid("1196E35B-E05B-E611-95A2-000D3AB23B6B") 
testGuid.IsNull = False 
+0

您可能想看看錶值參數。 https://msdn.microsoft.com/en-us/library/bb510489.aspx任何其他傳遞多個值的方法都會有點難看。您可能需要動態SQL或字符串拆分器。 –

回答

0

嘗試建立第一定義爲類型的Guid的陣列。

Dim values As Guid() = New Guid() {a_guid, another_guid} 
Dim c As New ConditionExpression("createdby", ConditionOperator.[In], values) 
+0

第一行拋出一個錯誤,該字符串不能轉換爲GUID – Jay

+0

「名稱涉及」是什麼?我已經重構這個如下:IM guidValues作爲的Guid()=新的GUID(2){} guidValues(1)=新的GUID( 「3398448B-D65B-E611-95A2-000D3AB23B6B」) guidValues(2)=新的GUID (「1196E35B-E05B-E611-95A2-000D3AB23B6B」) – Jay

+0

@Jay,更新了我的答案,'name'應該是你的屬性,例如'createdby'。你所提到的數組應該是Guid值而不是'string'。 –