2011-11-04 16 views
0

這就是我想要......VB.NET:如何使用ExecuteSQLCommand並將數據返回到數據表中並訪問它?

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 ? 

回答

5

這是一個沒有數據表的例子,正如你的評論中提到的那樣。

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) 

數據表:

Dim resultTable as DataTable = ds.Tables(0) 
2

要使導致DataTable,你需要創建SqlCommand圍繞SqlDataAdapter並調用其Fill方法。

+0

我只是在想......這個子是我的類文件。我真的不需要一張我不認爲的DataTable。我只想從存儲過程中輸入信息到我的成員變量中。那麼我會怎麼做呢?仍然使用SqlDataAdapter並將SelectCommand設置爲我的「myCommand」,然後如何從那裏訪問數據? – daveomcd

+1

如果你只是想讀取結果,你不應該使用'DataTable'。相反,在命令上調用ExecuteReader來獲取DataReader。 – SLaks

相關問題