gpt4 book ai didi

c# - 数据表不接受 varbinary 的值

转载 作者:搜寻专家 更新时间:2023-10-30 20:32:43 24 4
gpt4 key购买 nike

值 buf 的数据类型为 varbinary(max),值为 0x0000002D

string buF =
"0x" + BitConverter.ToString((byte[])dt.Rows[i]["BuF"]).Replace("-", "");
Label3.Text = buF;

我使用该值来查找文件ID

DataTable dt = new DataTable();
SqlConnection connection = new SqlConnection();
connection.ConnectionString = ConfigurationManager.ConnectionStrings["XYZ"].ConnectionString;
connection.Open();
SqlCommand sqlCmd = new SqlCommand("SELECT FileID FROM Backed where MachineID = @machineID AND BuF =@buF", connection);
SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);
sqlCmd.Parameters.AddWithValue("machineID", strID);
sqlCmd.Parameters.AddWithValue("buF", buF);
sqlDa.Fill(dt);
connection.Close();

我没有使用 buf 的值,也没有得到正确的 filid....

但是如果我将它与 value0x0000002D 而不是 buf 一起使用,我会得到文件 ID...为什么会这样...我尝试了所有方法但似乎没有任何效果

我需要帮助

最佳答案

C# 中 varbinary 的等效类型是 byte[],而不是 string。此外,正如霍根所说, AddWithValue 试图采用一种数据类型。相反,您可以明确表示:

sqlCmd.Parameters.Add("buF", SqlDbType.VarBinary, -1).Value = yourByteArray;

长度的 -1 对应于 varbinary(max)。

关于c# - 数据表不接受 varbinary 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1787077/

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