Usted debe ser capaz de escribir algo como esto:
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();
}
mediante LINQ to SQL, que iba a escribir algo como esto:
using(YourDataContextHere ctx = new YourDataContextHere())
{
SomeClassOfYours item = new SomeClassOfYours();
item.ByteContent = (your byte content here);
ctx.SomeClassOfYourses.InsertOnSubmit(item);
ctx.SubmitChanges();
}
Eso insertará su byte[]
en una columna Content
del tipo VARBINARY
en su tabla de SQL Server como un flujo de bytes, que puede leer b Ack 1: 1 de nuevo más tarde.
Buena respuesta. Sin embargo, según la afirmación de que el valor es un hash, es posible que sea de longitud constante. Si es así, considere usar binary con esa longitud en lugar de varbinary. –
@Sean Reilly: cierto, pero los algoritmos de hash diferentes también producen hashes de longitud diferentes, por lo que es posible que desee utilizar un VARBINARY con una longitud máxima adecuada para acomodar todas las variaciones –
@marc_s voy a estar utilizando linq. ¿Tengo que hacer SqlDbType.VarBinary? – Yustme