DbServer.BLOBGet 方法 | |
获取由其备注字段编号标识的 BLOB 内容。
命名空间:
XSharp.VO.SDK
程序集:
XSharp.VORDDClasses (在 XSharp.VORDDClasses.dll 中) 版本:2.22 GA
语法 VIRTUAL METHOD BLOBGet(
uField AS USUAL,
nStart AS LONG,
nCount AS LONG
) AS USUAL
public virtual __Usual BLOBGet(
__Usual uField,
int nStart,
int nCount
)
查看代码参数
- uField
- 类型:__Usual
表示数据库文件结构中字段位置的名称、编号或符号。 - nStart
- 类型:Int32
备注字段中 BLOB 数据的起始位置。如果 nStart 为正,
则起始位置相对于 uFieldPos 中的最左字符。如果 nStart 为负,
则相对于 uFieldPos 中的最右字符。如果省略 nStart,则假定为1。
- nCount
- 类型:Int32
从 nStart 开始检索的数据字节数。
如果 nCount 大于存储的数据量,则多余的数据将被忽略。如果省略,DBServer:BLOBGet() 将检索到数据的末尾。
返回值
类型:
__Usual
从备注字段中检索到的 BLOB 数据。返回值的数据类型取决于实际存储的数据。使用 ValType() 或 UsualType() 确定数据类型。
如果指示的字段不是备注字段,DBServer:BLOBGet() 返回 NIL。
备注 提示: |
---|
nStart和nCount仅适用于字符串数据。对于任何其他数据类型,它们将被忽略。
|
DBServer:BLOBGet() 与 DBServer:FieldGet() 非常相似。
然而,由于字符串类型变量不能大于64KB,DBServer:FieldGet() 在尝试检索此大小或更大的备注字段时会引发运行时错误。
DBServer:BLOBGet() 在尝试检索大于此大小的字段时也会引发错误;
但是,您可以通过使用小于64KB的
nCount 来检索 BLOB 数据的任何子集。
提示: |
---|
小于64KB的 BLOB 数据可以使用标准方法(例如,在表达式中引用字段名称或使用 DBServer:FieldGet() 方法)从备注字段中检索。
|
示例
此示例将文字处理文档中的信息导入字段,然后使用 DBServer:BLOBGet() 提取字段的前25个字符:
1FUNCTION GetFirst25()
2LOCAL nPos
3LOCAL cStr AS STRING
4LOCAL oDBCust := Customer{}
5
6oDBCust := Customer{}
7
8nPos := oDBCust:FieldPos("WP_DOC")
9
10
11IF oDBCust:BLOBImport(nPos, "c:\app\temp.doc")
12cStr := oDBCust:BLOBGet(nPos, 1, 25)
13ELSE
14cStr := "错误:无法导入文件!"
15ENDIF
16
17oDBCust:Close()
18
19RETURN cStr
参见