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

时间:2012-11-02 18:44:19

标签: .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 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

此代码返回一个字符串列表,如下所示

enter image description here

我没有足够的经验来做这个

问题

组织此

的最佳方式是什么?
  • 如何将<string>更改为<column_name>并将其与Unique Name

    包装在一起

    我曾经创建Class而不是list (of string)我使用了类引用

我得到一个列表如下

 <className>
     <col1>val1<col1>
     <col2>val1<col1>
 </className>
 <className>
     <col1>val2<col1>
     <col2>val2<col1>
 </className>

然后我使用此类名称

在javascript中循环

1 个答案:

答案 0 :(得分:1)

如果这需要完全动态,那么(如@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()

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