Functions.BLOBDirectPut 方法 | |
在不引用特定字段的情况下将数据放入 BLOB 文件中。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION BLOBDirectPut(
nOldPointer,
uBlob
) AS USUAL CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static __Usual BLOBDirectPut(
__Usual nOldPointer = default,
__Usual uBlob = default
)
查看代码参数
- nOldPointer (Optional)
- 类型:__Usual
之前存储的 BLOB 数据的引用。
该引用可以使用 BLOBDirectPut()、BLOBDirectImport() 或 DBFieldInfo(DBS_BLOB_POINTER, nFieldPos) 获得。
如果不是 0,BLOBDirectPut() 将 nOldPointer 引用的数据替换为 uBLOB;否则,uBLOB 将被添加到 BLOB 文件的当前内容中。
重要!
如果指定了 nOldPointer,BLOBDirectPut() 将释放与 nOldPointer 关联的空间,以便其他数据重新使用。
因此,在将 nOldPointer 传递给该函数后,不可以再使用 nOldPointer 与任何 BLOB 函数。
请使用函数的返回值来引用新存储的数据。
- uBlob (Optional)
- 类型:__Usual
返回值
类型:
__Usual
一个指向
uBLOB 数据的数值指针。
备注
BLOBDirectPut() 在不创建与特定备注字段的链接的情况下存储可变长度的 BLOB 数据。
在使用 BLOBDirectPut() 将数据添加到 BLOB 文件后,您应该存储函数的返回值,因为这是在 BLOB 文件中访问数据的唯一方式。
默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
示例
该示例在 BLOB 文件中存储设置信息,然后选择性地检索存储的信息:
1FUNCTION PutSettings(aColors AS ARRAY,;
2 aPaths AS ARRAY, aPassWords AS ARRAY) AS VOID
3LOCAL aSettings AS ARRAY
4 USE setup NEW VIA DBFBLOB
5 aSettings := {}
6 AADD(aSettings, BLOBDirectPut(0, aColors))
7 AADD(aSettings, BLOBDirectPut(0, aPaths))
8 AADD(aSettings, BLOBDirectPut(0, aPassWords))
9 BLOBRootPut(aSettings)
10 CLOSE
11FUNCTION GetColors() AS ARRAY
12 LOCAL aSettings AS ARRAY
13 LOCAL aColors AS ARRAY
14 USE setup NEW VIA DBFBLOB
15 aSettings := BLOBRootGet()
16 aColors := BLOBDirectGet(aSettings[1])
17 CLOSE
18 RETURN aColors
参见