簡體   English   中英

不允許從數據類型varchar隱式轉換為varbinary(max)C#

[英]Implicit conversion from data type varchar to varbinary(max) is not allowed c#

我試圖在SQL Server的varbinary(MAX)列中插入byte []
下面是我的代碼

SqlCommand cmd = new SqlCommand("Insert Into Details values ('@name','@Biometric','@TemplateBytesLength','@date') ", con);
cmd.Parameters.AddWithValue("name", txt_name.Text.Trim());
SqlParameter sqlParam = cmd.Parameters.AddWithValue("@Biometric", bTemplateDataOne);
sqlParam.DbType = DbType.Binary;
//cmd.Parameters.AddWithValue("Biometric", bTemplateDataOne);
cmd.Parameters.AddWithValue("TemplateBytesLength", bTemplateDataOne.Length);
cmd.Parameters.AddWithValue("date", DateTime.Now);

cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
con.Close();

bTemplateDataOne是一個字節[]

byte[] bTemplateDataOne;

我得到的錯誤是這個
不允許從數據類型varchar隱式轉換為varbinary(max)。 使用CONVERT函數運行此查詢。
為什么不允許將數據插入SQL表 在此處輸入圖片說明

我認為更好的解決方案將使用像這樣的SqlParameter:

cmd.Parameters.Add("@Biometric", SqlDbType.VarBinary, 8000).Value = bTemplateDataOne;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM