在名称空间System.Data.SqlClient
下,我们同时拥有SqlDataReader.GetSqlBinary
和SqlDataReader.GetSqlBytes。
两者似乎都给出了“原始数据”。如果是这样,它们之间有什么区别?
答案 0 :(得分:1)
表示要存储在数据库中或从数据库中检索的可变长度的二进制数据流。
GetSqlBytes
会返回SqlBytes
类:
表示包装Buffer或Stream的可变引用类型。
似乎不同之处在于GetSqlBinary
为您提供了一个数据块作为字节数组,而GetSqlBytes
类似但将数据存储在缓冲区中,允许您与底层数据库进行交互数据作为流。
答案 1 :(得分:1)
GetSQLBytes存储在内部缓冲区中以进行更多操作,Binary只是您获得的流并按原样使用它。
这两个返回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