2012-11-02 2 views
0

я есть WebMethod, что вы передаете SQL-запрос для выполнения и возвращает список строкиКак я могу изменить список имени строки в vb.net

  • Запрос приходит со стороны клиента, так что я доном «знаю, что это такое

Вот 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> 

, а затем i в javascript, используя это имя класса

+0

какая версия .Net? –

+0

Я использую .NET 2 –

+2

Я удивлен, что SELECT * FROM emp возвращает XML. – Paparazzi

ответ

1

Если это должно быть полностью динамическим, тогда (a s @Jeremy предложил) вернуть свой собственный XML. Попросите веб-метод вернуть 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() 

Разберите XML в своем Javascript-коде, используя методы DOM.

+0

Кроме того, не говорите 'reader.Item (reader.GetName (i))'; просто скажите «читатель (i)». – prprcupofcoffee

+0

спасибо .. но это проблема, я не знаю числа или имени столбцов, чтобы создать класс, который подходит ... Пожалуйста, еще раз прочитайте вопрос –

+0

См. Мой отредактированный ответ. – prprcupofcoffee

Смежные вопросы