div*_*nci 61 sql-server arrays
我在下面突出显示了一个字节数组,如何将其插入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
);
Run Code Online (Sandbox Code Playgroud)
先谢谢你们!
Dav*_*d M 79
试试这个:
"0x" + BitConverter.ToString(arraytoinsert).Replace("-", "")
Run Code Online (Sandbox Code Playgroud)
虽然你应该真的使用参数化查询而不是字符串连接当然...
Jas*_*ove 71
我的解决方案是使用参数化查询,因为连接对象负责正确格式化数据(包括确保正确的数据类型,并在适用的情况下转义"危险"字符):
// 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();
}
Run Code Online (Sandbox Code Playgroud)
编辑:添加了John Saunders建议的包装"using"语句,以便在完成后正确处理SqlCommand
| 归档时间: |
|
| 查看次数: |
143149 次 |
| 最近记录: |