Bạn chưa bao giờ tải nội dung hình ảnh lên cơ sở dữ liệu. Đó chỉ là tên tệp.
Ví dụ, giả sử rằng bạn có một đường dẫn tệp để làm việc (có vẻ như bạn có, với nội dung của câu hỏi). Trong ứng dụng của bạn, bạn sẽ tải nó lên cơ sở dữ liệu theo định dạng sau:
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();
Xin lưu ý rằng pic
của bạn trường sẽ có nhiều khả năng cần thay đổi kiểu dữ liệu. Loại phổ biến cho thông tin này là VARBINARY
.
Phần tiếp theo là đọc tệp vào một PictureBox. Đối với điều này, bạn sẽ cần CHỌN dữ liệu ra:
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);
}
Và đó phải là về nó. Bạn có thể muốn kiểm tra an toàn tốt hơn, nhưng điều này sẽ giúp bạn bắt đầu.