在命名空间下System.Data.SqlClient
,我们有SqlDataReader.GetSqlBinary
和SqlDataReader.GetSqlBytes。
两者似乎都给出了“原始数据”。如果是这样,它们之间有什么区别?
在命名空间下System.Data.SqlClient
,我们有SqlDataReader.GetSqlBinary
和SqlDataReader.GetSqlBytes。
两者似乎都给出了“原始数据”。如果是这样,它们之间有什么区别?
GetSqlBinary
返回一个SqlBinary
结构:
表示要存储在数据库中或从数据库中检索的可变长度二进制数据流。
GetSqlBytes
返回一个SqlBytes
类:
表示包装 Buffer 或 Stream 的可变引用类型。
似乎不同之处在于,它GetSqlBinary
为您提供了一个字节数组的数据块,而GetSqlBytes
类似但将数据存储在缓冲区中,该缓冲区允许您与底层数据作为流进行交互。
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