在名称空间System.Data.SqlClient下,我们同时拥有SqlDataReader.GetSqlBinary和SqlDataReader.GetSqlBytes。
两者似乎都给出了“原始数据”。如果是这样,它们之间的区别是什么?
发布于 2011-07-21 19:27:57
GetSQLBytes被存储在内部缓冲区中,用于更多的操作,二进制文件只是您获得的流,并按原样使用它。
这两个返回SqlBytes和SqlBinary,通过查看这两个类型,您可以看到它们的完全不同以及它们是如何存储数据的。
http://msdn.microsoft.com/en-us/library/system.data.sqltypes.sqlbytes.storage.aspx
http://msdn.microsoft.com/en-us/library/system.data.sqltypes.sqlbytes.aspx
发布于 2011-07-21 19:27:45
GetSqlBinary返回一个SqlBinary结构:
表示要存储在数据库中或从数据库中检索的可变长度的二进制数据流。
GetSqlBytes返回一个SqlBytes类:
表示包装缓冲区或流的可变引用类型。
所以看起来不同之处在于,GetSqlBinary以字节数组的形式为您提供块数据,而GetSqlBytes类似,但将数据存储在一个缓冲区中,允许您以流的形式与底层数据进行交互。
https://stackoverflow.com/questions/6775203
复制相似问题