Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wstaw tablicę Bytes INTO varbinary(max) record

Korzystając z procedury składowanej, po prostu utwórz parametr typu varbinary(max) i wstaw go do tabeli, tak jak każdy typ danych.

W kodzie c# (lub vb lub cokolwiek innego) dodaj parametr do obiektu polecenia sql i ustaw tablicę bajtów jako wartość parametru:

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

Jeśli nie używasz procedury składowanej, prawdopodobnie możesz zrobić to samo za pomocą sparametryzowanej instrukcji sql, ale nigdy tego nie próbowałem, więc nie mogę podać przykładu.

Edycja:

Używasz sparametryzowanego zapytania, co nie jest moją sprawą, więc nie mogę zagwarantować, że to zadziała. Ale oto kod, który powinien Ci pomóc.

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

Wartość binarna musi być reprezentowana jako parametr (@bin_value), a wartość jest ustawiana przez instrukcję AddWithValue. Nazwa parametru nie musi odpowiadać nazwie kolumny.

Kilka uwag:sugerowałbym używanie nazw kolumn w instrukcji wstawiania, a nie zależnie od pozycji kolumny. Ponadto nie wiem, co masz na myśli przez „table(1)” - czy to rzeczywiście nazwa tabeli?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Architektura programu SQL Server AlwaysOn (grupa dostępności) i instalacja krok po kroku -1

  2. Wstaw nodejs mssql z parametrami

  3. Sprawdź stan wszystkich wiadomości pocztowych bazy danych w programie SQL Server (T-SQL)

  4. Hierarchia technologii pamięci/magazynowania i SQL Server

  5. Wyodrębnianie atrybutów z pól XML w tabeli SQL Server 2008