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
);
侃侃无极
浏览 1508回答 3
3回答
慕森卡
我的解决方案是使用参数化查询,因为连接对象负责正确格式化数据(包括确保正确的数据类型,并在适用的情况下转义“危险”字符):// Assuming "conn" is an open SqlConnectionusing(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