我正在尝试将byte []插入到sql server中的varbinary(MAX)列中
以下是我的代码
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 []
byte[] bTemplateDataOne;
我得到的错误就是这个
不允许从数据类型varchar到varbinary(max)的隐式转换。使用CONVERT函数运行此查询。
为什么它不允许将数据插入SQL表
答案 0 :(得分:1)
我认为更好的解决方案是使用SqlParameter:
cmd.Parameters.Add("@Biometric", SqlDbType.VarBinary, 8000).Value = bTemplateDataOne;