这就是我们的数据保存在数据库中的方式:
我在数据表中获取数据库表并循环遍历。 相同的数据被隐式转换为字节数组。这是来自调试会话:
我希望数据不变。我会把它写到一个文件中。目前我可以使用row.ItemArray[0]
访问bytearray。它的值是{byte[70]}
。无法在row.ItemArray[0]
上使用索引。 row.ItemArray[0][0]
没有给您86
。
反正我也不需要86
。如果我将row.ItemArray[0]
写入文件,则会显示System.Byte[]
答案 0 :(得分:0)
为什么要将二进制数据转换为字符串。它永远不会奏效。试试这个
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
const string FILENAME = @"c:\temp\test.dat";
static void Main(string[] args)
{
DataTable datatable = new DataTable(); //just for testing, use your current table
FileStream stream = new FileStream(FILENAME, FileMode.Create);
BinaryWriter writer = new BinaryWriter(stream, Encoding.UTF8);
foreach (DataRow row in datatable.AsEnumerable())
{
writer.Write(row.Field<byte[]>(0));
}
writer.Flush();
writer.Close();
}
}
}