代码之家  ›  专栏  ›  技术社区  ›  Aaron M

是否可以更新SQL Server中的二进制字段?

  •  0
  • Aaron M  · 技术社区  · 17 年前

    我知道如何在具有二进制列的表中插入新行。但是,一旦添加了该行,有没有办法更新二进制列?到目前为止,一次彻底的谷歌搜索没有发现任何结果。

    到目前为止,我的解决方案是

    1. 删除我要更新的行
    2. 使用我希望更新的行中的信息以及新的二进制文件创建一个新行

    下面是我现在使用的更新代码,仅供参考

    Dim objCommand As New SqlCommand("UPDATE " & Tablename & " SET " _ 
    & column & " = Data  WHERE " & criteria)
    objCommand.Parameters.Add("@Data", SqlDbType.Image)
    objCommand.Parameters("@Data").Value = BinaryData
    
    2 回复  |  直到 16 年前
        1
  •  1
  •   Community Mohan Dere    10 年前

    看看 this article 在TechRepublic学习技术。您需要使用GetBytes/PutBytes方法,这比大多数ADO.Net代码要痛苦得多。也看到 MSDN

        2
  •  0
  •   Phill Pafford    17 年前

    插入二进制/字节

    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
    

    注:

    查询结果、删除记录并使用旧数据(来自第一次查询)将其作为新记录插入并使用正确的字节标志重新格式化更容易。

    至少这是我在这方面的有限经验