点击或拖拽改变大小

DbServer.BLOBImport 方法

X#
将文件的内容读取为由备注字段编号标识的 BLOB。

命名空间:  VO
程序集:  VORDDClasses (在 VORDDClasses.dll 中) 版本:2.22 GA
语法
 VIRTUAL METHOD BLOBImport(
	uField,
	oFSSource
) AS USUAL CLIPPER
查看代码

参数

uField (Optional)
类型:__Usual
表示数据库文件结构中字段位置的名称、编号或符号。
oFSSource (Optional)
类型:__Usual
指定包含要读取 BLOB 数据的文件名称的字符串或 filespec 对象,包括可选的驱动器、目录和扩展名。 有关文件搜索和创建规则,请参阅 SetDefault() 和 SetPath()。不假定默认扩展名。

返回值

类型:__Usual
如果成功则返回 TRUE;否则返回 FALSE。
备注
此方法尝试以共享模式打开源文件。如果文件不存在,则会引发运行时错误。 如果文件成功打开,则操作继续进行。如果由于另一个进程独占使用文件而拒绝访问,则 NetErr() 设置为 TRUE,并且数据服务的 Status 属性设置。 有关解决并发冲突的更多信息,请参阅程序员指南中的“并发控制”章节。
提示 提示:
源文件的大小没有限制,除了您必须有足够的磁盘空间来进行复制。
DBServer:BLOBImport() 提供了一种将文件内容复制到备注字段作为 BLOB 数据的机制。 DBServer:BLOBImport() 与 DBServer:BLOBExport() 一起使用,以在文件和备注字段之间来回传输 BLOB 数据。 您可以将 DBServer:BLOBImport() 与各种文件类型一起使用,包括图像、文字处理文件和打印机字体。 这两种方法非常适合创建文档、图形、声音等数据库。 DBServer:BlobImport() 在成功完成后发送 NotifyFieldChange 消息。
提示 提示:
DBServer:FieldInfo(DBS_BLOB_TYPE, uFieldPos) 将返回“C”(字符串),用于使用DBServer:BLOBImport()创建的任何备注字段。
示例
此示例将文字处理文档中的信息导入字段,然后使用 DBServer:BLOBGet() 提取字段的前25个字符:
X#
 1FUNCTION Populate()
 2LOCAL oDBCust AS DBServer
 3
 4oDBCust := Customer{}
 5// 基于姓氏和ID构造唯一名称
 6DO WHILE .NOT. oDBCust:EOF
 7oDBCust:GetPix("Pix", ;
 8Substr(oDBCust:LastName, 1, 4) + oDBCust:CustID)
 9oDBCust:Skip()
10ENDDO
11
12METHOD GetPix(cPixField, cPixFile) CLASS Customer
13LOCAL nPos
14nPos := SELF:FieldPos(cPixField)
15// 将图片文件导入指定字段
16IF !SELF:BLOBImport(nPos, cPixFile)
17Alert("导入图片 " + cPixFile + " 失败!")
18ENDIF
参见