sql >> Databáze >  >> RDS >> Sqlserver

Vložit pole Bytes DO záznamu varbinary(max).

Pomocí uložené procedury stačí vytvořit parametr typu varbinary(max) a vložit jej do tabulky jako jakýkoli datový typ.

Ve svém kódu c# (nebo vb nebo cokoliv jiného) přidejte parametr do objektu příkazu sql a nastavte pole bajtů jako hodnotu parametru:

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

Pokud nepoužíváte uloženou proceduru, můžete pravděpodobně udělat totéž s parametrizovaným příkazem SQL, ale to jsem nikdy nezkoušel, takže nemohu uvést příklad.

Upravit:

Používáte parametrizovaný dotaz, což není moje věc, takže nemohu zaručit, že to bude fungovat. Ale tady je nějaký kód, který by vás měl dostat do pohybu.

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

Binární hodnota musí být reprezentována jako parametr (@bin_value) a hodnota je nastavena příkazem AddWithValue. Název parametru se nemusí shodovat s názvem sloupce.

Několik poznámek:Navrhoval bych použití názvů sloupců ve vašem příkazu insert spíše než v závislosti na pozici sloupce. Také nevím, co myslíte výrazem 'table(1)' - je to skutečně název tabulky?



  1. Předejte heslo do mysql_config_editor pomocí proměnné v shellu

  2. Jak upravit možnosti propojeného serveru pomocí T-SQL

  3. Automaticky zálohujte databázi MySQL na linuxovém serveru

  4. PersistenceException:ERROR při provádění DML bindLog[] chyba[Pole 'id' nemá výchozí hodnotu]