点击或拖拽改变大小

DbServer.BLOBGet 方法

X#
获取由其备注字段编号标识的 BLOB 内容。

命名空间:  VO
程序集:  VORDDClasses (在 VORDDClasses.dll 中) 版本:2.22 GA
语法
 VIRTUAL METHOD BLOBGet(
	uField,
	nStart,
	nCount
) AS USUAL CLIPPER
查看代码

参数

uField (Optional)
类型:__Usual
表示数据库文件结构中字段位置的名称、编号或符号。
nStart (Optional)
类型:__Usual
备注字段中 BLOB 数据的起始位置。如果 nStart 为正, 则起始位置相对于 uFieldPos 中的最左字符。如果 nStart 为负, 则相对于 uFieldPos 中的最右字符。如果省略 nStart,则假定为1。
nCount (Optional)
类型:__Usual
nStart 开始检索的数据字节数。 如果 nCount 大于存储的数据量,则多余的数据将被忽略。如果省略,DBServer:BLOBGet() 将检索到数据的末尾。

返回值

类型:__Usual
从备注字段中检索到的 BLOB 数据。返回值的数据类型取决于实际存储的数据。使用 ValType() 或 UsualType() 确定数据类型。 如果指示的字段不是备注字段,DBServer:BLOBGet() 返回 NIL。
备注
提示 提示:
nStartnCount仅适用于字符串数据。对于任何其他数据类型,它们将被忽略。
DBServer:BLOBGet() 与 DBServer:FieldGet() 非常相似。 然而,由于字符串类型变量不能大于64KB,DBServer:FieldGet() 在尝试检索此大小或更大的备注字段时会引发运行时错误。 DBServer:BLOBGet() 在尝试检索大于此大小的字段时也会引发错误; 但是,您可以通过使用小于64KB的 nCount 来检索 BLOB 数据的任何子集。
提示 提示:
小于64KB的 BLOB 数据可以使用标准方法(例如,在表达式中引用字段名称或使用 DBServer:FieldGet() 方法)从备注字段中检索。
示例
此示例将文字处理文档中的信息导入字段,然后使用 DBServer:BLOBGet() 提取字段的前25个字符:
X#
 1FUNCTION GetFirst25()
 2LOCAL nPos
 3LOCAL cStr AS STRING
 4LOCAL oDBCust := Customer{}
 5
 6oDBCust := Customer{}
 7// 包含文字处理文档的字段
 8nPos := oDBCust:FieldPos("WP_DOC")
 9
10// 导入文件(可以大于64 KB),然后获取前25个字符以显示给用户
11IF oDBCust:BLOBImport(nPos, "c:\app\temp.doc")
12cStr := oDBCust:BLOBGet(nPos, 1, 25)
13ELSE
14cStr := "错误:无法导入文件!"
15ENDIF
16
17oDBCust:Close()
18
19RETURN cStr
参见