C# 从数据库通过执行SQL获取二进制文件、二进制和Stream的互相转换

  • Post author:
  • Post category:其他


下面一句sql是查询

TestLine

表(空间数据表)中的geom字段(二进制),

select geom from TestLine

接下来就是获取二进制数据了(obj其实就是byte[])

cmd.CommandText ="select geom from TestLine";

//获取二进制数据
object obj = cmd.ExecuteScalar();

附二进制和Stream的互相转换:

/// 将 Stream 转成 byte[]

public byte[] StreamToBytes(Stream stream)
{
    byte[] bytes = new byte[stream.Length];
    stream.Read(bytes, 0, bytes.Length);
    // 设置当前流的位置为流的开始
    stream.Seek(0, SeekOrigin.Begin);
    return bytes;
}

/// 将 byte[] 转成 Stream

public Stream BytesToStream(byte[] bytes)
{
    Stream stream = new MemoryStream(bytes);
    return stream;
}

我们就可以用这个结果去创建我们想要的结果了。(如Image、Geometry等等)



版权声明:本文为qq_38370387原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。