Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để tải hình ảnh từ SQL Server vào hộp hình ảnh?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trạng thái và phiên hoạt động của SQL Server

  2. Các phương pháp miễn phí để sửa chữa lỗi chỉ mục máy chủ SQL

  3. Nhận tổng của cột trên hàng cuối cùng, thực hành tốt?

  4. SQL:Làm cách nào để lấy id của các giá trị mà tôi vừa CHÈN?

  5. Không thể kết nối với máy chủ - Một lỗi liên quan đến mạng hoặc trường hợp cụ thể