为了账号安全,请及时绑定邮箱和手机立即绑定

如何将字节[]插入SQL Server VARBINARY列

如何将字节[]插入SQL Server VARBINARY列

侃侃无极 2019-09-03 17:08:10
我在下面突出显示了一个字节数组,如何将其插入SQL Server数据库Varbinary列?byte[] arraytoinsert = new byte[10]{0,1,2,3,4,5,6,7,8,9};string sql =     string.format    (    "INSERT INTO mssqltable (varbinarycolumn) VALUES ({0});",WHATTODOHERE    );
查看完整描述

3 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

我的解决方案是使用参数化查询,因为连接对象负责正确格式化数据(包括确保正确的数据类型,并在适用的情况下转义“危险”字符):


// Assuming "conn" is an open SqlConnection

using(SqlCommand cmd = new SqlCommand("INSERT INTO mssqltable(varbinarycolumn) VALUES (@binaryValue)", conn))

{

    // Replace 8000, below, with the correct size of the field

    cmd.Parameters.Add("@binaryValue", SqlDbType.VarBinary, 8000).Value = arraytoinsert;

    cmd.ExecuteNonQuery();

}

编辑:添加了John Saunders建议的包装“using”语句,以便在完成后正确处理SqlCommand


查看完整回答
反对 回复 2019-09-03
?
郎朗坤

TA贡献1921条经验 获得超9个赞

试试这个:


"0x" + BitConverter.ToString(arraytoinsert).Replace("-", "")

虽然你应该真的使用参数化查询而不是字符串连接当然...


查看完整回答
反对 回复 2019-09-03
  • 3 回答
  • 0 关注
  • 1507 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信