2011-01-25 9 views
0

私のデータベースには、1人のユーザーが複数の注文を行うことができます。私はユーザーのためにすべての注文を取得し、それをリストに保存したい。SQL結果をLstに保存しますか?

これは私が今

Public Function GetUserOrders(ByVal userID As Integer) As DataSet 
     Dim sqlDA As New SqlDataAdapter 
     Dim ds As New DataSet 
     Dim myCommand As New Data.SqlClient.SqlCommand("sp_GetUserOrders", myConnection) 
     ' Mark the Command as a SPROC 
     myCommand.CommandType = CommandType.StoredProcedure 
     Dim muserID As New SqlParameter("@userID", SqlDbType.Int) 
     muserID.Value = userID 
     myCommand.Parameters.Add(muserID) 
     Try 
      ' Open the connection and execute the Command 
      myConnection.Open() 
      sqlDA.SelectCommand = myCommand 
      sqlDA.Fill(ds) 

     Catch ex As Exception 

     Finally 
      myConnection.Close() 
     End Try 

     Return ds 
    End Function 

をやっているものですが、私は、リストに結果を割り当てる方法を見つけ出すように見えることはできません。

Dim orderList As New ListItemCollection() 
orderlist = GetUserOrders() 

は機能しません。

+1

'DataSet'を' ListItemCollection'にキャストしようとしています。キャストは存在しないため、これは機能しません。別のメソッドで 'DataSet'を' ListItemCollection'に変換する必要があります。 –

+0

私はそれをリストの代わりに配列に設定できますか?どちらかが良いでしょう.. –

+0

私は理解しているように['ListItemCollection'](http://msdn.microsoft.com/en-us/library/ez4tsddk.aspx)は、ドロップダウンなどのWeb UI要素の基礎ですボックス。あなたはウェブフォームにデータを取得しようとしていますか?あなたがそうでなければ、一般的な['List of of T] '(http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx)を使うべきです。ここで、Tはあなたのデータのタイプです。再格納する。どのようにデータを取得するかはあなた次第です。 –

答えて

0

私はそれを得ました。

私はリストをgetuserorders関数の中に設定しました。

Dim dr As SqlDataReader 
     Dim orderList As New ListItemCollection() 
     Try 
      ' Execute the command 
      myConnection.Open() 
      dr = myCommand.ExecuteReader() 

      If Not dr.Read() Then 
       Return Nothing 
      Else 
       While dr.Read() 
        orderList .Add(dr("orderCode")) 
       End While 
      End If 
      dr.Close() 
     Finally 
      myConnection.Close() 
     End Try 
関連する問題