我在C#中使用SqlConnection
和SqlCommand
将字符串行(通过Parameters.AddWithValue
)插入SQL Server。我需要插入的一列是Varbinary
。有没有办法在C#或SQL Server中进行转换?
答案 0 :(得分:2)
根据this answer,您可以使用CONVERT
函数将字符串插入VARBINARY
列。确保使用正确的编码,如答案中所述。
insert Table_2 (Test) values( CONVERT(varbinary(30), N'this is a test') )
select * from Table_2
select CONVERT(nvarchar(30), test) from Table_2
所以C#代码看起来像
// Get from config
string connectionString = "";
using (var conn = new SqlConnection(connectionString))
{
string sql = "insert Table_2 (Test) values( CONVERT(varbinary(30), @nvarcharParam) )";
using (var cmd = new SqlCommand(sql, conn))
{
var param = cmd.Parameters.AddWithValue("nvarcharParam", "This is a test");
param.DbType = DbType.String;
cmd.ExecuteNonQuery();
}
}