我正在尝试将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隐式转换到var二进制文件(Max)。使用转换函数运行此查询。
不允许将数据插入SQL表的原因

发布于 2017-04-26 07:31:49
我认为更好的解决方案是这样使用SqlParameter:
cmd.Parameters.Add("@Biometric", SqlDbType.VarBinary, 8000).Value = bTemplateDataOne;https://stackoverflow.com/questions/43627433
复制相似问题