点击或拖拽改变大小

Functions.BLOBGet 方法

X#
通过备注字段号获取 BLOB 的内容

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION BLOBGet(
	nFieldPos,
	nStart,
	nCount
) AS USUAL CLIPPER
查看代码

参数

nFieldPos (Optional)
类型:__Usual
数据库文件结构中字段的位置。
nStart (Optional)
类型:__Usual
BLOB 数据在备注字段中的起始位置。
如果 nStart 是正数,它相对于备注字段的最左边的字符。
如果 nStart 是负数,它相对于备注字段的最右边的字符。
如果省略 nStart,它被假定为 1。
nCount (Optional)
类型:__Usual
nStart 位置开始,获取的数据字节数。
如果 nCount 大于实际存储的数据量,多余的数据将被忽略。
如果省略 nCount,BLOBGet() 将获取到数据的结尾。

返回值

类型:__Usual
从备注字段中获取的 BLOB 数据。
该数据的类型取决于实际存储的数据类型。
使用 ValType() 或 UsualType() 来确定数据类型。
如果所指示的字段不是备注字段,BLOBGet() 将返回 NIL。
备注
BLOBGet() 与 FieldGet() 非常相似。 但是,因为字符串类型的变量不能大于 64 KB,FieldGet() 将在尝试从备注字段中获取大于该大小的数据时引发一个运行时错误。 BLOBGet() 也将在尝试获取大于该大小的字段时引发一个错误,但是您可以通过使用小于 64 KB 的 nCount 来获取该字段的任何子集。 默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
注意:小于 64 KB 的 BLOB 数据可以使用标准方式从备注字段中获取(例如,在表达式中使用字段名或使用 FieldGet() 函数)。
示例
该示例将 Word 处理文档中的信息导入到一个字段中,然后使用 BLOBGet() 来获取该字段的前 25 个字符:
X#
 1FUNCTION GetFirst25()
 2    LOCAL nPos
 3    LOCAL cStr AS STRING
 4    USE customer NEW INHERIT FROM {"DBFBLOB"}
 5    // 字段,包含 Word 处理文档
 6    nPos := FIELDPOS("WP_DOC")
 7        // 导入一个文件(可以大于 64 KB),然后
 8    // 获取该字段的前 25 个字符以供用户查看
 9    IF BLOBImport(nPos, "c:\application\temp.doc")
10        cStr := BLOBGet(nPos, 1, 25)
11    ELSE
12        cStr := "Error: could not import file!"
13    ENDIF
14CLOSE
15RETURN cStr
参见