Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在vb.net中更改字符串名称列表_.net_Vb.net_Soap_Vb.net 2010 - Fatal编程技术网

如何在vb.net中更改字符串名称列表

如何在vb.net中更改字符串名称列表,.net,vb.net,soap,vb.net-2010,.net,Vb.net,Soap,Vb.net 2010,我有一个WebMethod,您可以传递一个SQL查询以执行,并返回一个字符串列表 这个查询来自客户端,所以我不知道它是什么 这是webMethod <WebMethod()> _ Public Function ExecQuery() As List(Of String) Dim result As New List(Of String) Dim sqlConn As New sqlConn........ Dim queryString As Stri

我有一个
WebMethod
,您可以传递一个SQL查询以执行,并返回一个字符串列表

  • 这个查询来自客户端,所以我不知道它是什么
这是
webMethod

<WebMethod()> _
Public Function ExecQuery() As List(Of String)

    Dim result As New List(Of String)
    Dim sqlConn As New sqlConn........
    Dim queryString As String = 'SELECT * FROM tbl_name'
    Dim command As New SqlCommand(queryString, sqlConn)
    sqlConn.Open()
    Dim reader As SqlDataReader = command.ExecuteReader()
    While reader.Read()
        For i As Integer = 0 To reader.FieldCount - 1
            result.Add(reader.Item(reader.GetName(i)))
        Next

    End While
    Return result

End Function

然后我使用这个类名循环javascript,如果需要完全动态,那么(正如@Jeremy所建议的)返回您自己的XML。让webmethod返回
String
,而不是
List(Of…)
。创建自己的XML字符串:

Dim sb As New System.Text.StringBuilder
While reader.Read()
    sb.Append("<record>")
    For i As Integer = 0 To reader.FieldCount - 1
        sb.AppendFormat("<field name=""{0}"">", reader.GetName(i))
        sb.Append(reader(i).ToString())
        sb.Append("</field>")
    Next
    sb.Append("</record>")
End While

Return sb.ToString()
将sb设置为新System.Text.StringBuilder
而reader.Read()
某人加上(“”)
对于i,作为整数=0到reader.FieldCount-1
sb.AppendFormat(“,reader.GetName(i))
sb.Append(reader(i).ToString())
某人加上(“”)
下一个
某人加上(“”)
结束时
把某人送回原处

使用DOM方法解析Javascript代码中的XML。

我很惊讶“SELECT*FROM emp”返回XML。我认为web服务在测试itOK时总是返回XML格式的数据类型列表。你看过WCF和DataContract了吗。我不知道如何满足您的要求,但WCF被认为更具可配置性。另外,不要说
reader.Item(reader.GetName(I))
;只要说
reader(i)
。谢谢。。但这就是问题所在,我不知道要创建一个适合。。。请再读一个问题,timelooks承诺我会试试这个,让你知道
Dim sb As New System.Text.StringBuilder
While reader.Read()
    sb.Append("<record>")
    For i As Integer = 0 To reader.FieldCount - 1
        sb.AppendFormat("<field name=""{0}"">", reader.GetName(i))
        sb.Append(reader(i).ToString())
        sb.Append("</field>")
    Next
    sb.Append("</record>")
End While

Return sb.ToString()