我一直在使用 C# 为我们的产品为不同的数据库编写具体的提供程序实现。无需详细说明,其中一列是字节数组类型(postgres 中的字节 - 由于偏好字节茶被选择而不是 blob)。唯一的问题是它不会返回插入的相同值。当我插入 Int32 ("0") 时,我得到 8 [92 和 8x 48](而不是 [0,0,0,0])。我需要一个性能明智的解决方案,它将返回我插入的纯字节,而不是 8 字节上值“0”的 ASCII 表示。
我正在使用 Npgsql 来检索数据。如果有人知道 c# 的解决方案,我也很乐意学习它。
编辑: Postgres 9.0、.Net 3.5
简化
命令查询: - 里面只有一个插入语句
select InsertOrUpdateEntry(:nodeId, :timeStamp, :data)
数据参数:
byte [] value = BitConverter.GetBytes((int)someValue);
参数分配如下
command.Parameters.Add(new NpgsqlParameter("data", NpgsqlDbType.Bytea)
{ Value = value });
选择语句:
select * from Entries
我输入的相同字节数组,我想回来。我将衷心感谢您的帮助。
输入:0 0 0 0
电流输出:92 48 48 48 48 48 48 48 48
预期输出:0 0 0 0