Powinieneś być w stanie napisać coś takiego:
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();
}
użyciu LINQ-SQL, można by napisać coś takiego:
using(YourDataContextHere ctx = new YourDataContextHere())
{
SomeClassOfYours item = new SomeClassOfYours();
item.ByteContent = (your byte content here);
ctx.SomeClassOfYourses.InsertOnSubmit(item);
ctx.SubmitChanges();
}
Że wstawi twój byte[]
do kolumny Content
typu VARBINARY
w twojej tabeli SQL Server jako strumień bajtów, który możesz odczytać b ack 1: 1 ponownie później.
Dobra odpowiedź. Jednak na podstawie stwierdzenia, że wartość jest hash, możliwe, że będzie ona miała stałą długość. Jeśli tak, rozważ użycie binarne o tej długości zamiast varbinary. –
@Sean Reilly: true - ale różne algorytmy skrótu również dają różne skróty długości, więc możesz chcieć użyć VARBINARA o odpowiedniej maksymalnej długości, aby pomieścić wszystkie warianty –
@ marc_s Będę używał linq. czy muszę zrobić SqlDbType.VarBinary? – Yustme