2013-04-17 38 views
0

我想弄清楚如何從我的Silverlight應用程序中調用存儲過程。我可以使用這個函數調用數據庫:Silverlight WCF服務存儲過程

<OperationContract()> 
Public Function ImportData(
    ByVal authentication As AuthenticationArgs, 
    ByVal caseID As String) As ResponseArgs(Of GetGuidelineData_Result) 

    Dim guidelineDataResults As GetGuidelineData_Result 
    Dim exception As ExceptionArgs = Nothing 

    If AuthenticationService.CheckPermissions(authentication, exception, PermissionType.StateUser) Then 

     Try 
      Dim model As DCF_ACCESS_Model = DataHelper.CreateDCF_ACCESS_Model() 

      model.GetGuidelineData(caseID) 

     Catch ex As Exception 

      Return New ResponseArgs(Of GetGuidelineData_Result)(New ExceptionArgs(ex.Message)) 

     End Try 

     Return New ResponseArgs(Of GetGuidelineData_Result)(guidelineDataResults) 

    Else 

     Return New ResponseArgs(Of GetGuidelineData_Result)(exception) 

    End If 

End Function 

我該如何修改代碼來調用存儲過程呢?存儲過程GetGuidelineData以1個參數作爲輸入。

+0

Whay是你的問題?你沒有打電話給wcf服務嗎?你的數據庫調用失敗了嗎?什麼是錯誤細節? 。 。 。 – evgenyl

+0

@evgenyl - 我沒有錯誤,只是我不知道如何撥打存儲過程。但我終於通過一些試驗和錯誤發現了它。 – em007

+0

祝你好運!考慮添加你的答案 - 可能會幫助別人。 – evgenyl

回答

0

我能弄清楚如何調用存儲過程有以下:

<OperationContract()> 
Public Function ImportData(
    ByVal authentication As AuthenticationArgs, 
    ByVal caseID As String) As ResponseArgs(Of GetGuidelineData_Result) 

    Dim guidelineDataResults As GetGuidelineData_Result 
    Dim exception As ExceptionArgs = Nothing 

    If AuthenticationService.CheckPermissions(authentication, exception, PermissionType.StateUser) Then 

     Try 
      Dim model As DCF_ACCESS_Model = DataHelper.CreateDCF_ACCESS_Model() 

      ' Call stored procedure 
      guidelineDataResults = model.GetGuidelineData(caseID).First() 

     Catch ex As Exception 

      Return New ResponseArgs(Of GetGuidelineData_Result)(New ExceptionArgs(ex.ToString())) 

     End Try 

     Return New ResponseArgs(Of GetGuidelineData_Result)(guidelineDataResults) 

    Else 

     Return New ResponseArgs(Of GetGuidelineData_Result)(exception) 

    End If 


End Function 

到存儲過程的調用與做:

model.GetGuidelineData(caseID).First() 

它獲得的第一個元素收集並作爲其輸出返回。