gpt4 book ai didi

c# - 在 C# 中从 SQL Server 插入和检索 ByteArray

转载 作者:太空狗 更新时间:2023-10-29 18:16:28 25 4
gpt4 key购买 nike

我有一个 128 位 key ,我想将其存储在数据库中。我的代码将 key 创建为 byte[16],数据库中的数据类型为 varbinary(16)

当我尝试再次从数据库中检索字节数组时,我没有得到原始值。

这是我的代码:

byte[] test =  new byte[16]{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

SqlCommand myInsertCmd = new SqlCommand("INSERT INTO Test(test) VALUES(@Param)", myConnection);
SqlParameter param = myInsertCmd.Parameters.Add("@Param", SqlDbType.VarBinary, 16);
param.Value = test;

myInsertCmd.ExecuteNonQuery();

SqlDataAdapter myAdapter1 = new SqlDataAdapter("Select test from Test;", myConnection);
DataTable dt = new DataTable();
myAdapter1.Fill(dt);

foreach (DataRow row in dt.Rows)
{
char[] charArray = row["test"].ToString().ToCharArray();
}

对于 charArray,我得到 0x0053、0x0079、0x0073、0x0074 等,而且 charArray 只有 13 个字节长。我做错了什么?

最佳答案

row["Test"]包含 byte[] , 所以 row["Test"].ToString()返回默认 ToStringbyte[]类型,即 "System.Byte[]" .之后你转换 System.Byte[]并得到那个结果

foreach (DataRow row in dt.Rows)
{
byte[] byteArray = (byte[])row["test"];
}

关于c# - 在 C# 中从 SQL Server 插入和检索 ByteArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13952261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com