使用 C# 读取(数据库引擎)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

Read 从传入的 BinaryReader 中读取 SqlHierarchyId 的二进制表示形式,并将 SqlHierarchyId 对象设置为该值。 无法通过使用 Transact-SQL 来调用 Read。 请改为使用 CAST 或 CONVERT。

语法

void Read( BinaryReader r )   

参数

r
BinaryReader 对象,该对象生成对应于 hierarchyid 节点的二进制表示形式的二进制流 。

返回类型

CLR 返回类型:void

备注

Read 不验证其输入。 如果给出了无效的二进制输入,则 Read 可能引发异常。 或者,它可能成功并生成无效的 SqlHierarchyId 对象,这些对象的方法可能给出不可预测的结果或引发异常 。

只能对新创建的 SqlHierarchyId 对象调用 Read 。

必要时(例如,将数据写入 hierarchyid 列时),SQL Server 将在内部使用 Read 。 在 varbinary 和 hierarchyid 之间进行转换时,也将在内部调用 Read 。

示例

Byte[] encoding = new byte[] { 0x58 };  
MemoryStream stream = new MemoryStream(encoding, false /*not writable*/);  
BinaryReader br = new BinaryReader(stream);  
SqlHierarchyId hid = new SqlHierarchyId();  
hid.Read(br);   

另请参阅

Write(数据库引擎)
ToString(数据库引擎)
CAST 和 CONVERT (Transact-SQL)
hierarchyid 数据类型方法引用