Functions.BLOBImport 方法 | |
通过备注字段号将文件的内容读取到 BLOB 中
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION BLOBImport(
nFieldPos,
cSourceFile
) AS LOGIC CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static bool BLOBImport(
__Usual nFieldPos = default,
__Usual cSourceFile = default
)
查看代码参数
- 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 个字符:
1FUNCTION Populate()
2 USE customer NEW INHERIT FROM {"DBFBLOB"}
3
4
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
参见