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

Chèn mảng byte VÀO bản ghi varbinary (max)

Sử dụng một thủ tục được lưu trữ, chỉ cần tạo một tham số kiểu varbinary (max) và chèn nó vào bảng như bạn làm với bất kỳ kiểu dữ liệu nào.

Trong mã c # (hoặc vb hoặc bất cứ thứ gì), hãy thêm một tham số vào đối tượng lệnh sql của bạn và đặt mảng byte làm giá trị tham số:

command.Parameters.AddWithValue("@parameter_name", myByteArray);

Nếu không sử dụng thủ tục được lưu trữ, bạn có thể làm tương tự với câu lệnh sql được tham số hóa, nhưng tôi chưa bao giờ thử điều đó, vì vậy tôi không thể đưa ra ví dụ.

Chỉnh sửa:

Bạn đang sử dụng truy vấn được tham số hóa, đây không phải là việc của tôi, vì vậy tôi không thể đảm bảo điều này sẽ hoạt động. Tuy nhiên, đây là một số mã sẽ giúp bạn tiếp tục.

RemoteSQLcmd = New SqlCommand("INSERT INTO Table(1) Values (newid(), ProductID, @bin_value", RemoteSQLConn)
RemoteSQLcmd.Parameters.AddWithValue(@bin_value", imSource) ;

Giá trị nhị phân phải được biểu diễn dưới dạng tham số (@bin_value) và giá trị được đặt bởi câu lệnh AddWithValue. Tên tham số không nhất thiết phải khớp với tên cột.

Một vài lưu ý:Tôi khuyên bạn nên sử dụng tên các cột trong câu lệnh chèn của bạn thay vì phụ thuộc vào vị trí cột, Ngoài ra, tôi không biết ý của bạn là 'table (1)' - đó có thực sự là tên của bảng không?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cài đặt cụm chuyển đổi dự phòng SQL Server -4

  2. SQL Server 2008 Dữ liệu dọc sang ngang

  3. Tổng không chính xác khi tôi tham gia bảng thứ hai

  4. Hàm group_concat SQL trong SQL Server

  5. Tự động chọn cột trong truy vấn SQL