INSERT BYTE[] TO Sql不带参数
本文关键字:参数 Sql TO BYTE INSERT | 更新日期: 2023-09-27 18:02:03
我想创建一个原始SQL查询,将加密值(byte[]
)添加到SQL列(varbinary
),而不使用这样的参数:
byte[] value = GetEncryptedValue();
string query = "INSERT INTO Table1 VALUES('" + value.ToString() + "')";
我想插入的列数据类型是varbinary
。我需要一些使用value.ToString()的函数。怎么写呢?我只需要像master。dbo这样的函数。Fn_varbintohexstr在sql!!
二进制文字的形式为0x6ABCDEF
,即0x
后跟十六进制形式的字节。
你可以使用它将字节数组转换为文字值:
string literal = "0x" + String.Join("", value.Select(n => n.ToString("X2")));
二进制字面值周围没有撇号:
string query = "INSERT INTO Table1 VALUES(" + literal + ")";
另一种方法是使用BitConverter
byte[] value = GetEncryptedValue();
string query =
"INSERT INTO Table1 (c1) VALUES(0x" + BitConverter.ToString(value).Replace("-", "") + ")";
BitConverter.ToString
返回类似于01-02-03....
的内容