2016-07-07 3 views
0

im obigen Code habe ich mehrere Bilder mit picturebox ausgewählt TimesSelect und zeigte im Panel, Panel zeigen alle ausgewählten Bilder, aber in der Datenbank nur erste Bilder mehrere Zeit zB ich wähle 10 pic, in der Datenbank zuerst Bild wird gespeichert 10 MalWarum dieser Code nur das erste Bild speichern, während ich mehr Auswahl die 1

if (files != null) 
{ 
    SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Avais\Desktop\GUI of GUA\GUI of GUA\GUAdatabase.mdf;Integrated Security=True"); 

    con.Open(); 
    FileStream fs = new FileStream(files[0], System.IO.FileMode.Open, System.IO.FileAccess.Read); 

    byte[] image = new byte[fs.Length]; 
    fs.Read(image, 0, Convert.ToInt32(fs.Length)); 

    fs.Close(); 

    SqlCommand cmd = new SqlCommand("INSERT INTO Admin_Pic_Lib(Pictures) VALUES (@pic)", con); 
    SqlParameter prm = new SqlParameter("@pic", SqlDbType.VarBinary, image.Length, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, image); 

    cmd.Parameters.Add(prm); 

    cmd.ExecuteNonQuery(); 

    label1.ForeColor = Color.Green; 
    label1.Text = "Pic Added Suscussfully"; 

    con.Close(); 
} 

Antwort

2

Sie sind zur Zeit nur das erste Bild/Datei-Targeting, die verfügbar ist:

FileStream fs = new FileStream(files[0], ...); 

Wenn Sie mehrere Dateien zielen und zu speichern, betrachten looping durch Ihre Dateien Sammlung und Durchführung dieser Ope Ration für jeden von ihnen:

+0

kann bitte erklären Sie es mit einigen Details – Avais

+0

Mit welchem ​​Teil haben Sie Schwierigkeiten mit? Ihre aktuelle 'files'-Sammlung besteht aus einer oder mehreren Dateien. Sie müssen also diese Sammlung durchgehen und jede einzelne in die Datenbank innerhalb des Körpers der' foreach'-Schleife einfügen. –

Verwandte Themen