Du laddade aldrig upp bildinnehållet till databasen. Det är bara filnamnet.
Säg, som ett exempel, att du har en filsökväg att arbeta med (det verkar du ha, med tanke på frågans innehåll). I din ansökan skulle du ladda upp detta till databasen enligt detta format:
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();
Tänk på att din pic
fältet kommer mer än troligt att behöva ändra datatyp. En vanlig typ av denna information är VARBINARY
.
Nästa del är att läsa in filen i en PictureBox. För detta måste du VÄLJA ut data:
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);
}
Och det borde handla om det. Du kanske vill göra bättre säkerhetskontroller, men detta borde hjälpa dig att komma igång.