Nigdy nie przesłałeś zawartości obrazu do bazy danych. To tylko nazwa pliku.
Powiedz, jako przykład, że masz ścieżkę do pliku do pracy (wydaje się, że masz, biorąc pod uwagę treść pytania). W swojej aplikacji prześlij to do bazy danych w następującym formacie:
byte[] image = File.ReadAllBytes("D:\\11.jpg");
SqlCommand sqlCommand = new SqlCommand("INSERT INTO imageTest (pic_id, pic) VALUES (1, @Image)", yourConnectionReference);
sqlCommand.Parameters.AddWithValue("@Image", image);
sqlCommand.ExecuteNonQuery();
Pamiętaj, że Twój pic
najprawdopodobniej będzie trzeba zmienić typ danych. Typowym typem tych informacji jest VARBINARY
.
Następna część to wczytanie pliku do PictureBox. W tym celu musisz WYBRAĆ dane:
SqlDataAdapter dataAdapter = new SqlDataAdapter(new SqlCommand("SELECT pic FROM imageTest WHERE pic_id = 1", yourConnectionReference));
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
if (dataSet.Tables[0].Rows.Count == 1)
{
Byte[] data = new Byte[0];
data = (Byte[])(dataSet.Tables[0].Rows[0]["pic"]);
MemoryStream mem = new MemoryStream(data);
yourPictureBox.Image= Image.FromStream(mem);
}
I to powinno być o tym. Możesz chcieć przeprowadzić lepsze kontrole bezpieczeństwa, ale to powinno pomóc Ci zacząć.