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

我在下面突出显示了一个字节数组,如何将其插入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

    );


侃侃无极
浏览 1405回答 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

郎朗坤

试试这个:"0x" + BitConverter.ToString(arraytoinsert).Replace("-", "")虽然你应该真的使用参数化查询而不是字符串连接当然...
打开App,查看更多内容
随时随地看视频慕课网APP