是否有一种方法来插入一个c#字符串到一个SQL varbinary列

本文关键字:一个 字符串 SQL varbinary 一种 方法 是否 插入 | 更新日期: 2023-09-27 18:08:37

我使用SqlConnectionSqlCommand在c#中插入行字符串(通过Parameters.AddWithValue)到SQL Server。我需要插入的其中一列是Varbinary。是否有任何方法可以在c#或SQL Server中进行转换?

是否有一种方法来插入一个c#字符串到一个SQL varbinary列

根据这个答案,您可以使用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();
        }
    }