点击或拖拽改变大小

Functions.BLOBImport 方法

X#
通过备注字段号将文件的内容读取到 BLOB 中

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

参数

nFieldPos (Optional)
类型:__Usual
数据库文件结构中字段的位置。
cSourceFile (Optional)
类型:__Usual
读取 BLOB 数据的文件名,包括可选的驱动器、目录和扩展名。请参见 SetDefault() 和 SetPath() 以获取文件搜索和创建规则。没有默认的扩展名被假定。
该函数尝试以共享模式打开 cSourceFile
如果文件不存在,将引发运行时错误。
如果文件成功打开,操作将继续执行。
如果访问被拒绝,因为另一个进程独占了该文件,NetErr() 将被设置为 TRUE。

返回值

类型:Boolean
如果成功,返回 TRUE;否则,返回 FALSE。
备注
BLOBImport() 提供了将文件的内容复制到备注字段中的 BLOB 数据的机制。
默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
BLOBImport() 可以与 BLOBExport() 结合使用,以在文件和备注字段之间传输 BLOB 数据。 您可以使用 BLOBImport() 来处理多种文件类型,包括图形图像、word processor 文件和打印机字体。
这两个函数是创建包含文档、图形、声音等的数据库的理想选择。
注意:DBFieldInfo(DBS_BLOB_TYPE, nFieldPos) 将返回 "C" (string) 对于使用 BLOBImport() 创建的任何备注字段。
示例
该示例将信息从一个 word 处理文档导入到一个字段中,然后使用 BLOBGet() 来提取该字段的前 25 个字符:
X#
 1FUNCTION Populate()
 2    USE customer NEW INHERIT FROM {"DBFBLOB"}
 3    // Construct unique file name based on last
 4    // name and id
 5    DO WHILE .NOT. EOF()
 6        GetPix("Pix", SUBSTR(LastName, 1, 4) + CustID)
 7        Customer->DBSkip()
 8    ENDDO
 9FUNCTION GetPix(cPixField, cPixFile)
10    LOCAL nPos
11    nPos := FIELDPOS(cPixField)
12    // 导入图片文件到指定字段
13    IF !BLOBImport(nPos, cPixFile)
14        Alert("Import of picture " + cPixFile + "; failed!")
15    ENDIF
参见