Reputation: 1631
I am trying to insert byte[] into varbinary(MAX) column in sql server
Below is my code
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 is an byte[]
byte[] bTemplateDataOne;
The error i am getting is this
Implicit conversion from data type varchar to varbinary(max) is not allowed. Use the CONVERT function to run this query.
Why it does not allow to insert data into SQL table
Upvotes: 0
Views: 2653
Reputation: 2282
I think that better solution will be using SqlParameter like this:
cmd.Parameters.Add("@Biometric", SqlDbType.VarBinary, 8000).Value = bTemplateDataOne;
Upvotes: 1