2016-04-15 4 views
0

こんにちは、ありがとうございます!LINQ to SQL検索結果をリストボックスに照会し、選択したアイテムを新しいリストボックスに転送するのに役立ちます

私はvb.netで「Movies」という名前のデータベーステーブルを検索するプロジェクトを行っています。私は関連するテーブル「取締役」を持っています。このプロジェクトの目的は、ユーザーが購入する映画を検索して選択できるようにすることです。

LINQ to SQLを使用してデータベースを照会する方法を理解しましたが、ListBoxに結果が正しく挿入されますが、ユーザーが選択した項目を新しいリストボックスに追加するか、メッセージボックス、結果が正しくありません。

明確にするには、LINQ to SQLを使用しています。なぜなら、vb.netでプレーンSQLを使用するよりも、関連するテーブルをもっと簡単に操作でき、クエリがはるかに簡単だからです。以下は

は、私のコードの例である私は、ここからやりたいことは、ユーザーがリストボックスから項目を選択し、新しい「オーダーフォーム」

にこれらのアイテムを取り込むことを可能である

Dim db As DataClasses1DataContext = New DataClasses1DataContext 

    Dim searchstring As String = txtSearchbyText.Text 
    Dim data As System.Linq.IQueryable(Of Project_2010Version.Movies) 



    data = From m In db.Movies _ 
      Where m.MovTitle = searchstring _ 
      Select m 

    ListBox1.DataSource = data.ToList 
    ListBox1.DisplayMember = "MovTitle" 
    ListBox1.ValueMember = "MovTitle" 

私が実行している問題は、選択された項目が、アクセスしようとしたときに正しい値を表示しないということです。

私は次のコードを実行した場合

Dim oitem As Object = Nothing 

    For Each oitem In ListBox1.SelectedItems 
     MsgBox(oitem.ToString()) 
    Next 

私の問題は、私は見返りに取得する唯一のものではなく、映画のタイトルの「Project2010Verion.Movies」です。

正しい書式を新しい書式で表示するにはどうすればよいですか?

ありがとうございました!

答えて

0

イテレータループ(For Each)の問題は、オブジェクトにToStringを呼び出していることです。もちろん、リスト内のオブジェクトの完全修飾名が返されます。

として、あなたがそれを構造化したいかなり確信して、Moviesクラスであなたが持っているものまで見て:あなたはこのような何かを試してみてくださいたぶん

For Each oitem In ListBox1.SelectedItems 
     MsgBox(oitem.MovTitle) 
    Next 
0

..

をListBox1.SelectedItemsの各oitemについて MsgBox(Listbox1.GetItemText(oitem))

関連する問題