How Convert A Byte[] To A Data To Insert A Value In A Varbinary(max) Column In Sql Server?
I have a object with a byte[] property, and I would like to convert this value to the correct value to can insert it into the database using T-SQL. But I don't know how I could con
Solution 1:
Create a Console Application project and try this code
// Sample ClasspublicclassMyClass
{
publicbyte[] data;
}
// Main staticvoidMain(string[] args)
{
MyClass cls = new MyClass();
using (SqlConnection cn = new SqlConnection("CONNECTION STRING"))
{
cn.Open();
using (SqlCommand cmd = new SqlCommand("insert into MyTable values (@data)", cn))
{
cmd.Parameters.AddWithValue("@data", cls.data);
cmd.ExecuteNonQuery();
}
}
}
Solution 2:
You want to convert to VarBinary.
See the following:
simple example (setting command parameter)
byte[] data;
command.Parameters.Add("@data", SqlDbType.VarBinary).Value = data;
T-SQL example of how to pass in varbinary
CREATEPROCEDURE YourStoredProc
@datavarbinary(max)
ASBEGIN-- your codeENDSolution 3:
Generating raw varbinary to insert to database (copy-paste case)
stringToVarbinary(byte[] data)
{
var sb = new StringBuilder((data.Length * 2) + 2);
sb.Append("0x");
for (int i = 0; i < data.Length; i++)
{
sb.Append(data[i].ToString("X2"));
}
return sb.ToString();
}
Post a Comment for "How Convert A Byte[] To A Data To Insert A Value In A Varbinary(max) Column In Sql Server?"