我知道如何在具有二进制列的表中插入新行。但是一旦添加了该行,有没有办法更新二进制列?到目前为止,一个详尽的谷歌搜索没有任何结果。
到目前为止我的解决方案是
它看起来并不优雅,我希望我能用更新声明做同样的事情。
以下是我现在用于参考的更新代码
Dim objCommand As New SqlCommand("UPDATE " & Tablename & " SET " _
& column & " = Data WHERE " & criteria)
objCommand.Parameters.Add("@Data", SqlDbType.Image)
objCommand.Parameters("@Data").Value = BinaryData
答案 0 :(得分:1)
在TechRepublic看看this article的技术。您需要使用GetBytes / PutBytes方法,这比大多数ADO.Net代码要痛苦得多。另请参阅MSDN。
答案 1 :(得分:0)
INSERT BINARY / BYTES
INSERT INTO table_name
(field_name)
VALUES
(4|8|16|32)
更新二进制/字节
UPDATE table_name
SET field_name=field_name|8|16|32
WHERE field_name_filter=@this_value
注意:设置字节标志后,您无法更新它以将其删除。因此,您不能使用UPDATE示例删除已设置为4的字节,然后将其更改为8,只需添加8,所以现在您将拥有4 | 8。同样放置反向字节也比它接缝更难,它不仅仅是UPDATE -4 | 8。
查询结果更容易,删除记录并将其作为带有旧数据的新记录(来自第一个查询)插入,并使用正确的字节标记重新格式化。
至少这是我对此的有限经验