Save byte[] into a SQL Server database from C# Save byte[] into a SQL Server database from C# arrays arrays

Save byte[] into a SQL Server database from C#


You should be able to write something like this:

string queryStmt = "INSERT INTO dbo.YourTable(Content) VALUES(@Content)";using(SqlConnection _con = new SqlConnection(--your-connection-string-here--))using(SqlCommand _cmd = new SqlCommand(queryStmt, _con)){   SqlParameter param = _cmd.Parameters.Add("@Content", SqlDbType.VarBinary);   param.Value = YourByteArrayVariableHere;   _con.Open();   _cmd.ExecuteNonQuery();   _con.Close();}

Using Linq-to-SQL, you'd write something like this:

using(YourDataContextHere ctx = new YourDataContextHere()){   SomeClassOfYours item = new SomeClassOfYours();   item.ByteContent = (your byte content here);   ctx.SomeClassOfYourses.InsertOnSubmit(item);   ctx.SubmitChanges();}

That will insert your byte[] into a column Content of type VARBINARY in your SQL Server table as a byte stream, which you can read back 1:1 again later on.


Varbinary or CHAR - with the value converted to a hex. I do that pretty often with hash values because it allows me to SEE and COMPARE them easily (on rintouts, during development), and the overhead is minimal.