sql—对返回对象和输出参数使用ExecuteOnQuery或executereader

igetnqfo  于 2021-07-27  发布在  Java
关注(0)|答案(0)|浏览(164)

我正在尝试创建一个web服务。一个函数使用一个存储过程返回输出参数和一个类对象(对于xml)。
这是我的web服务(vb.net):

<WebMethod()>
    Public Function Search(ByVal ID As String,ByRef ROW As String) As List(Of Entity)

        Dim log As String = ""
        Dim sqlconn As New SqlConnection
        Dim sqlcmd As New SqlCommand
        Dim ListOfEntity As List(Of Entity) = New List(Of Entity)
        Try
            sqlconn.ConnectionString = CONNECTION_STRING
            sqlcmd.Connection = sqlconn
            sqlconn.Open()

            sqlcmd.CommandType = Data.CommandType.StoredProcedure
            sqlcmd.CommandText = "ENTITY_DETAILS"
            sqlcmd.Parameters.AddWithValue("@ID", ID)

            sqlcmd.Parameters.Add("@ROW", SqlDbType.NVarChar)
            sqlcmd.Parameters("@ROW").Direction = ParameterDirection.Output

            Dim result = sqlcmd.ExecuteScalar()
            Dim ROWValue = sqlcmd.Parameters("@ROW").Value

            Dim sqlreader = sqlcmd.ExecuteReader()
            If sqlreader IsNot Nothing And sqlreader.HasRows Then
                While sqlreader.Read()
                    ListOfEntity.Add(New Entity With
                    {

我应该使用下面的语句显式绑定输出参数吗

Dim ROWValue = sqlcmd.Parameters("@ROW").Value

或者我需要用这种方式捆绑

ROW = sqlcmd.Parameters("@ROW").Value

否则它将被隐式绑定。
请澄清是否两者 ExecuteScalar 以及 ExecuteReader 必须用于两个结果。
要求是:web服务将获取一些参数,并以xml的形式返回带有一些类对象的输出参数。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题