侃侃無極
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

郎朗坤
TA貢獻1921條經驗 獲得超9個贊
試試這個:
"0x" + BitConverter.ToString(arraytoinsert).Replace("-", "")
雖然你應該真的使用參數化查詢而不是字符串連接當然...
添加回答
舉報
0/150
提交
取消