2009-05-11 2 views
0

Я знаю, как вставить новую строку в таблицу с двоичным столбцом. Но есть ли способ обновить двоичный столбец после добавления этой строки? До сих пор исчерпывающий поиск в Google ничего не показал.Возможно ли обновить двоичное поле в SQL Server?

МОЕ решение до сих пор это

  1. Получить текущую строку, что я хочу, чтобы обновить
  2. удалить строку, что я хочу, чтобы обновить
  3. Создать новую строку с информацией из ряда I хочу обновить плюс новый двоичный код

Это просто не очень элегантный, и я надеялся, что смогу сделать то же самое с инструкцией по обновлению.

Вот обновленный код, я использую в настоящее время для справки

Dim objCommand As New SqlCommand("UPDATE " & Tablename & " SET " _ 
& column & " = Data WHERE " & criteria) 
objCommand.Parameters.Add("@Data", SqlDbType.Image) 
objCommand.Parameters("@Data").Value = BinaryData 

ответ

1

Посмотрите на this article в TechRepublic для техники. Вам нужно будет использовать методы GetBytes/PutBytes, гораздо более болезненные, чем большинство ADO.Net-кода. Также см. MSDN.

+0

Спасибо, что первая статья была именно то, что мне нужно. –

+0

Если да, то хотите принять ответ? –

+0

Ссылка на статью TechRepublic недействительна (по состоянию на 30.06.2014). – devinbost

0

ВСТАВИТЬ BINARY/ЧИСЛО

INSERT INTO table_name 
(field_name) 
VALUES 
(4|8|16|32) 

UPDATE BINARY/ЧИСЛО

UPDATE table_name 
SET field_name=field_name|8|16|32 
WHERE [email protected]_value 

ПРИМЕЧАНИЕ: После того, как флаг Byte установлен, вы не можете обновить его, чтобы удалить его. Таким образом, вы не можете использовать пример UPDATE для удаления байт, который был установлен в 4, а затем хотите изменить его на 8, он просто добавляет 8, так что теперь у вас будет 4 | 8. Кроме того, размещение обратного байта сложнее, чем швы, это не просто UPDATE -4 | 8.

Легче запросить результаты, удалить запись и вставить ее как новую запись со старыми данными (из первого запроса) и переформатировать правильные байтовые флаги.

По крайней мере, это мой ограниченный опыт работы с этим

Смежные вопросы