点击或拖拽改变大小

DbServer.BLOBDirectExport 方法 (Int32, FileSpec, Int32)

X#
将二进制大对象(BLOB)指针的内容导出到文件。

命名空间:  XSharp.VO.SDK
程序集:  XSharp.VORDDClasses (在 XSharp.VORDDClasses.dll 中) 版本:2.22 GA
语法
 VIRTUAL METHOD BLOBDirectExport(
	nPointer AS LONG,
	oFSTarget AS FileSpec,
	 kMode AS LONG
) AS USUAL
查看代码

参数

nPointer
类型:Int32
指向 BLOB 数据的指针。此指针可以使用 DBServer:BLOBDirectPut()、DBServer:BLOBDirectExport() 或 DBServer:FieldInfo(DBS_BLOB_POINTER, nFieldPos)获取。
oFSTarget
类型:FileSpec
指定目标文件名称的字符串或 filespec 对象,包括可选的驱动器、目录和扩展名。有关文件搜索和创建规则,请参阅 SetDefault() 和 SetPath()。 不假定默认扩展名。 如果 oFSTarget 不存在,则会创建它。如果存在,此方法尝试以独占模式打开文件,如果成功, 则文件会被写入而不会发出警告或错误。如果由于另一个进程正在使用文件而拒绝访问,则 NetErr() 设置为 TRUE,并且数据服务的 Status 属性设置。
kMode
类型:Int32
定义复制模式的常量,如下表所示:
常量描述
BLOB_EXPORT_APPEND 追加到文件
BLOB_EXPORT_OVERWRITE 覆盖文件——这是默认值

返回值

类型:__Usual
如果成功则返回 TRUE;否则返回 FALSE。
备注
提示 提示:
BLOB 文件(.DBV或.FPT)用于存储备注字段信息,作为某些 RDD 支持的标准 .DBt 文件机制的替代方案。 它是一种比使用 .DBt 文件更强大和高效的存储和检索大量数据的机制。 X# 提供了默认使用 BLOB 文件存储机制的 DBFCDX 驱动程序,以及可以与其他 RDD 一起使用的 DBFBLOB 驱动程序。 有关使用此驱动程序的更多信息,请参阅程序员指南中的“RDD特定”附录。
示例
此示例从 BLOB 文件的根区域提取指针数组,然后使用其中一个指针将图片导出到文件:
X#
 1FUNCTION PutPix()
 2LOCAL cPixFile AS STRING
 3LOCAL nPointer
 4LOCAL aBLOBPtrs AS ARRAY
 5LOCAL oDBCust AS DBServer
 6
 7cPixFile := "picture.gif"
 8// 客户数据服务,每个客户的图片存储在名为Pix的字段中
 9oDBCust := Customer{}
10// 假设程序先前将直接BLOB指针数组存储到BLOB文件的根区域。
11// 我们想要的图片假设是第二个数组元素。
12aBLOBPtrs := BLOBRootGet()
13nPointer := aBLOBPtrs[2]
14// 将指向的图片导出到文件
15IF !oDBCust:BLOBDirectExport(nPointer, cPixFile, BLOB_EXPORT_OVERWRITE)
16Alert("导出图片 " + cPixFile + " 失败!")
17ELSE
18// 显示图片的代码将在此处
19ENDIF
参见