在sql server中保存字节数组

use*_*873 20 sql-server sqlcommand bytearray

要寻找拯救,需要使用字节数组密码在此使用的方法

那么我应该在sql server中使用哪种数据类型来保存字节数组?以及如何使用SqlCommand传递和检索字节数组?

Dam*_*ver 24

如果它总是长度相同,则binary(length)适合.如果它的长度不同,请使用varbinary(maxlength).

二进制和varbinary.

并且,正如@pswg所说,您可以通过将其放入合适的参数来从代码中传递它.


p.s*_*w.g 6

只需使用byte[]与任何其他参数相同的方式,指定SqlDbType.Binary为参数类型。这是 C# 中的示例

// Generate your password hash some way
byte[] passwordHash = new byte[] { 0x0, 0x1, 0x2 ... };

...

command.Parameters.Add("@passwordHash", SqlDbType.Binary);
command.Parameters["@passwordHash"].Value = passwordHash;
Run Code Online (Sandbox Code Playgroud)

或者如果你更喜欢 VB.NET

' Generate your password hash some way
Dim passwordHash As Byte() = New Byte() { &H0, &H1, &H2 ... }

...

command.Parameters.Add("@passwordHash", SqlDbType.Binary)
command.Parameters("@passwordHash").Value = passwordHash
Run Code Online (Sandbox Code Playgroud)