VFP9新的数据和索引类型(二)

VFP9新的数据和索引类型(二),第1张

一滴

Blob就像Memo和Varbinary的交集:它在FTP文件中存储二进制数据。像其他数据类型一样,微软在VFP 9中添加了Blob,以便为其他数据库提供更好的支持。但是,你很快就会看到,它在VFP本地表中也非常有用。Blob的单字符缩写是“w”。

以下是关于Blob的一些细节:

XXX Blob的作用类似于Memo:不能在上面建立索引,它接收Null值,表或游标中的Blob字段有2GB数据的限制(当然FPT文件的总大小只能是2GB)。在浏览窗口或网格中,如果blob字段为空,则显示为“Blob”,否则显示为“Blob”。

×××您可以使用编辑框或修改备忘录来显示Blob字段的内容。其二进制数据以十六进制值的形式显示,不加前导0h。但是,其内容是只读的。Blob字段中的值必须以编程方式修改,如REPLACE或GATHER。

Xxx和Varbinary一样,不在Blob字段上执行代码页转换。

×××对于存储在内存变量中的Blob字段和Blob值,TYPE()和VARTYPE()函数返回“Q”而不是“W ”,正如您所看到的。显示/列表结构和AFIELDS()通常会为Blob字段显示“Blob”和“w”。

Xxtrim()、RTRIM()、LTRIM()、ALLTRIM()、ALINES()、TRANSFORM()、ISBLANK()和Empty()将Blob视为Varbinary字段。

XxsqlLIKE运算符LIKE()、LIKEC()、BINTOC()、CTOBIN()和APPEND FROM不支持Blob字段。

XXX blob字段可用作包含图像的一般字段的替代。通用领域存在许多问题:难以使用、更新、体积庞大等等。在常规字段中存储图像需要一个链接到ActiveX服务器的文件,但是在Blob字段中存储图像很简单。它们很容易更新。与使用APPEND GENERAL不同,您可以使用类似下面的方法将图像放入Blob字段:Fox Club

在Employees中用filetostr('BobJones.gif ')替换图片

要在窗体上显示Blob字段中存储的图像,只需将图像控件的PictureVal属性设置为该Blob字段的内容:

  Thisform.imgEmployee.PictureVal = Employees.Picturethis form . img employee . pictureval = Employees。画

运行BlobDemo。SCX看到了这个功能的演示。它提供了一个简单的图像浏览器表单。它的Load方法将使用以下代码来创建放置图像的光标:

创建游标测试(FIELD1 Blob)插入测试值(filetostr(home() + 'FOX。BMP '))插入测试值(filetostr(home()+' WIZARDS \ band RPT。BMP '))插入测试值(filetostr(home()+' WIZARDS \ wiz flax。BMP '))插入测试值(filetostr(home()+' WIZARDS \ wiz stone。BMP '))插入测试值(filetostr(home()+' WIZARDS \ foqstrt。BMP '))转到顶部

窗体上的“下一个”和“上一个”按钮将图像控件的PictureVal属性设置为光标中的FIELD1。

指定可变长度值的数据类型。

在VFP的旧版本中,在SQL SELECT语句中使用表达式会导致变长数据出现在以下两种情况之一中:值填充在上空网格中,而不是空网格中,和/或所有值被剪切为结果的第一条记录中的值的长度。

这里有一个取自TestVarcharMapping的例子。PRG,它演示了这两个问题:

选择trim(first name)+' '+trim(last name)作为全名;来自员工;进入光标测试清除扫描?FullName,len(FullName) endscan使用

*使用一个函数来演示这些字段已被缩放到第一条记录中的值的长度。

选择GetFullName(FirstName,LastName)作为全名。来自员工;光标测试扫描?全名,len(全名)endscan

函数GetFullName(tcFirstName,tcLastName)返回trim(TC first name)+' '+trim(TC last name)

第一个循环演示了结果集中的所有记录都填充了最长为31个字符的空单元格,即使SQL SELECT语句中的表达式修剪了字段。第二个循环演示了所有记录都被切割成13个字符的长度,因为这个长度是第一个记录上的表达式的结果的长度;VFP使用这个值作为这个游标结构的模板。

无论你想要什么样的行为特征。在第一种情况下,尽管您要求删除空的值,但结果并未被修整。在第二种情况下,数据实际上丢失了,因为字段的宽度不足以包含每条记录的正确值。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » VFP9新的数据和索引类型(二)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情