2016-04-03 17 views
-4

Hier ist mein Code,Wie Bild in Datagridview abrufen?

string constring = @"Data Source=MUZAFFAR_ALI801\SQLSERVER;Initial Catalog=imageform;Integrated Security=True;"; 
SqlConnection condatabase = new SqlConnection(constring); 
SqlCommand sc = new SqlCommand(@"SELECT id, Source, Channel, Category, Image, url, Keyword1, Keyword2, Keyword3 
              FROM Uploads", condatabase); 

     try 
     { 

      SqlDataAdapter sda = new SqlDataAdapter(); 
      sda.SelectCommand = sc; 
      DataTable dt = new DataTable(); 
      sda.Fill(dt); 
      BindingSource bSource = new BindingSource(); 

      bSource.DataSource = dt; 
      dataGridView1.DataSource = bSource; 
      sda.Update(dt); 
     } 

     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 

Ich habe eine Datenbank mit Bildspalten. Ich möchte Bild in Datagridview abrufen, wie ich in SQL-Datenbank in Zahlen gespeichert habe, aber ich habe den Fehler konfrontiert. Hier

ist der Screenshot-Fehler:

enter image description here

+0

nicht genug Informationen in Ihrer Frage. Welchen Fehler haben Sie erhalten? Wo ist der Frontend-Code? Ist das Bildfeld binäre Daten? Dateipfad? – Jonathan

+1

'Aber ich habe den Fehler konfrontiert 'Jeder denkst du haben wir Kristallkugel, um den Fehler zu sehen? – Eser

+0

Dies ist mein erster Beitrag in Stackoverflow, deshalb weiß ich nicht, wie man ein Bild hinzufügt. –

Antwort

-1

Nicht sicher über die direkte Fill-Methode Sie DataAdapter verwenden, aber ich habe gerade versucht, nach dem Fehler Schnappschuss Überprüfung und es funktionierte.

Schritt 1:

Datagridview auf einer Win Form eingelegt.

Schritt 2:

den folgenden Code für Bildrecherche für jedes Objekt verwendet (das Bild in binären Umwandlung ist hier der Schlüssel, und es dann an die Datenquelle/Binding befestigen).

Code:

for (int i = 0; i < ObjectList.Count; i++) 
{ 
    try 
    { 
     Image img = //Get your image; 
     Byte[] result = (Byte[])new ImageConverter().ConvertTo(img, typeof(Byte[])); 
     Object.Image = result; 
    } 
    catch 
    { } 
} 

bindingSource1.DataSource = objectList; 
dataGridView1.DataSource = bindingSource1; 
+0

Hier ist der Screenshot des Fehlers, den Sie sehen können http://i.imgur.com/LLBJOlV.png –

Verwandte Themen