VB.NET: Как я могу использовать ExecuteSQLCommand и вернуть мои данные в виде данных и получить к ним доступ? - PullRequest
0 голосов
/ 04 ноября 2011

Это то, что я пытаюсь ...

Dim myCommand as SqlCommand
Dim myTable as New xsdObject.ObjectDataTable

myCommand = DataAccess.GetSQLCommand( "MyStoredProc", _
                       CommandType.StoredProcedure, SourceServer.ConnectionLocal)

myCommand.Connection.ChangeDatabase("MyDatabase")
myCommand.Parameters.AddWithValue("@Parameter", DataValue)

ExecuteSQLCommand(myCommand, myTable)

 'How to access my data ?

Ответы [ 2 ]

5 голосов
/ 04 ноября 2011

Вот пример без данных, как упомянуто в вашем комментарии.

Dim reader As SqlDataReader= MyCommand.ExecuteReader
    Dim MyList as new List(Of WhateverObject)
    Do While reader.Read
        Dim obj as new WhateverObj
        obj.Property1 = Reader.GetInt32(0)
        obj.Property2 = Reader.GetString(1)
        MyList.add(obj)
    Loop

    reader.Close()
    myCommand.Dispose()

Ради полного ответа, соответствующего названию, с набором данных:

    Dim Adapter As New SqlDataAdapter(myCommand)
    Dim ds As DataSet = New DataSet
    Adapter.Fill(ds)

Datatable:

Dim resultTable as DataTable = ds.Tables(0)
2 голосов
/ 04 ноября 2011

Чтобы поместить результаты в DataTable, вам нужно создать SqlDataAdapter вокруг SqlCommand и вызвать его метод Fill.

...