2016-03-25 5 views
0

C#とWPFを使用してSQLデータベースの画像フィールドから画像を表示したいとします。次のコードを試しましたが、イメージフィールドデータ以外のすべてのフィールドを取得するだけです。リストボックスをSQLデータベースの画像フィールドにバインドする

<ListBox x:Name="listBox" HorizontalContentAlignment="Left" FontFamily="Arial" FontSize="18" HorizontalAlignment="Left" Height="552" Margin="10,198,0,0" VerticalAlignment="Top" Width="754" ItemsSource="{Binding}" > 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <DockPanel > 
        <TextBlock Text="{Binding ID}" FontWeight="Bold" 
         DockPanel.Dock="Left" 
         Margin="5,0,10,0" Width="20" /> 
        <TextBlock Text="{Binding Name}" FontWeight="Bold" 
         DockPanel.Dock="Left" 
         Margin="5,0,10,0" Width="150" /> 
        <Image Source="{Binding PhotoID}" 
          DockPanel.Dock="Left" 

         Margin="5,0,10,0" Width="150" Height="150" Stretch="Uniform"/> 

       </DockPanel> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 

とC#のセクションでは、私は同様に以下のコードを使用しています:私は問題に取り組む方法を知っているよう

Private void RetrieveData() 
    { 
     string ConString = conn; 
     using (SqlConnection con = new SqlConnection(ConString)) 
     { 

      SqlCommand cmd = new SqlCommand(CmdString, con); 
      sda = new SqlDataAdapter(cmd); 
      dt = new DataTable(); 
      sda.Fill(dt); 

     } 

public MainPage() 
    { 
     InitializeComponent(); 
     try 
     { 
      CmdString = "Select ID,Name,PhotoID from Employees"; 
      RetrieveData(); 
      listBox.ItemsSource = dt.DefaultView; 


     } 
     catch 
     { 
      MessageBox.Show("db error"); 
     } 
    } 

してください。

答えて

0

私はこの問題を解決しました。実際には、上記のコードに問題はありません。私はSQLデータベースでフィールドのデータ型をイメージからバイナリに変更しました。この方法で問題は解決しました。

理由はわかりませんが、画像データタイプに問題があるようです。

関連する問題