I have a webservice that has the below procedure. Basically a procedure to
called a stored procedure and return the results. When I try to call the
webservice from my program I get the error. Both my calling code and the
webservice code are below. Thanks for your help.
D:\Projects .NET\StoreBO\frmVoids.vb(182): Value of type '1-dimensional
array of System.Data.SqlClient.SqlParameter' cannot be converted to
'1-dimensional array of StoreBO.StoreBackOffice.SqlParameter' because
'System.Data.SqlClient.SqlParameter' is not derived from
'StoreBO.StoreBackOffice.SqlParameter'.
--------------------------- CODE CALLING WEBSERVICE HERE
Private Sub GetData(Optional ByVal MyFilter As Integer = 0)
Me.Cursor = Cursors.WaitCursor
Dim MyParams() As SqlParameter
ReDim Preserve MyParams(5)
MyParams(0) = New SqlParameter("@StartDate",
Me.dteStart.Value.ToShortDateString)
MyParams(1) = New SqlParameter("@EndDate",
Me.dteStart.Value.ToShortDateString)
MyParams(2) = New SqlParameter("@Store", MyFilter)
MyParams(3) = New SqlParameter("@UnVerifiedOnly", 0)
MyParams(4) = New SqlParameter("@PostVoidsOnly", 0)
MyParams(5) = New SqlParameter("@PostVoidTimeDifference", 0)
Dim RsTemp As DataSet
RsTemp = New DataSet
Me.grdVoids.DataSource = Nothing
Dim rsData As New DataSet
Dim MySvc As New StoreBackOffice.StoreBackOffice
Dim ErrorMsg As String = "Error getting Post Void Information"
Try
If MySvc.GetDataFromStoredProcedure(MerchConn,
"vm_VoidsAudit", MyParams, MerchConn, ErrorMsg, RsTemp, "Voids", 120) = True
Then
rsData.Clear()
rsData.Merge(RsTemp)
Me.grdVoids.DataSource = rsData.Tables("Voids")
Else
MessageBox.Show(ErrorMsg, "Error getting Void Data", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End If
Catch ex As System.Exception
Dim sMsg As String = "There has been an error Post Voids Information : " &
ex.ToString
MessageBox.Show(sMsg, "Error loading data", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Finally
End Try
RsTemp.Dispose()
Me.Cursor = Cursors.Default
End Sub
--------------------------WEB SERVICE METHOD BELOW
<WebMethod()> _
Public Function GetDataFromStoredProcedure(ByVal dbConn As String, ByVal
MySproc As String, ByVal MyParams() As SqlParameter, ByVal MyConn As String,
ByRef ErrorDesc As String, ByRef ReturnDS As DataSet, ByVal DataName As
String, ByVal MyTimeout As Integer) As Boolean
Dim oConn As New SqlConnection(dbConn)
Dim bRetVal As Boolean
Try
Dim MyCmd As New SqlCommand(MySproc, oConn)
MyCmd.CommandTimeout = MyTimeout
MyCmd.CommandType = CommandType.StoredProcedure
Dim p As SqlParameter
If IsNothing(MyParams) = False Then
For Each p In MyParams
p = MyCmd.Parameters.Add(p)
p.Direction = ParameterDirection.Input
Next
End If
Dim oAdapt As New SqlDataAdapter(MyCmd)
MyCmd.Prepare()
oConn.Open()
oAdapt.Fill(ReturnDS, DataName)
'oConn.Dispose()
MyCmd.Dispose()
oConn.Dispose()
bRetVal = True
Catch ex As System.Exception
Dim sMsg As String = ErrorDesc & "(" & MySproc & ") : " & ex.Message
ErrorDesc = sMsg
bRetVal = False
Finally
End Try
Return bRetVal
End Function