我想插入這個字節數組到一個SQL Server數據庫中,列數據類型爲varbinary
,這是我在C#代碼插入字節數組從C#SQL Server和如何檢索
SqlParameter param = new SqlParameter("@buffer", SqlDbType.VarBinary, 8000);
param.Value = buffer;
string _query = "INSERT INTO [dbo].[Files] (FileID, Data, Length) VALUES ('" + uID + "','" + buffer + "','" + buffer.Length + "')";
using (SqlCommand comm = new SqlCommand(_query, conn))
{
comm.Parameters.Add(param);
try
{
conn.Open();
comm.ExecuteNonQuery();
}
catch (SqlException ex)
{
return Request.CreateResponse(HttpStatusCode.OK, "Something went wrong : " + ex.Message);
}
finally
{
conn.Close();
}
}
我也@buffer
試了_query
字符串,而不是緩衝區內,但我不斷收到錯誤:
從varchar到VARBINARY轉換是不允許使用convert命令來執行這個查詢
,我用Convert
和保存成功,但是當我找回它,它檢索前14個字節而已,
byte[] bytearr = (byte[])row["Data"];
我一直在尋找,並沒有發現什麼。你能幫我存儲字節並檢索它嗎?
varbinary列的長度是什麼,因爲它是在SQL中配置的? – RQDQ
這個問題爲什麼得到-1? – IAbstract
您可以使用存儲過程,還是必須特設? – dean