6

在命名空间下System.Data.SqlClient,我们有SqlDataReader.GetSqlBinarySqlDataReader.GetSqlBytes

两者似乎都给出了“原始数据”。如果是这样,它们之间有什么区别?

4

2 回答 2

1

GetSqlBinary返回一个SqlBinary结构:

表示要存储在数据库中或从数据库中检索的可变长度二进制数据流。

GetSqlBytes返回一个SqlBytes类:

表示包装 Buffer 或 Stream 的可变引用类型。

似乎不同之处在于,它GetSqlBinary为您提供了一个字节数组的数据块,而GetSqlBytes类似但将数据存储在缓冲区中,该缓冲区允许您与底层数据作为流进行交互。

于 2011-07-21T11:27:44.587 回答
1

GetSQLBytes 存储在内部缓冲区中以进行更多操作,二进制文件只是您获取并按原样使用它的流。

这两个返回SqlBytesSqlBinary并且通过查看这两种类型,您可以看到它们的完全不同以及它们如何存储数据。

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-21T11:27:57.470 回答