代码之家  ›  专栏  ›  技术社区  ›  Joe R.

如何执行屏幕存储并访问特定行的blob?

  •  1
  • Joe R.  · 技术社区  · 14 年前

    IDS WITH INFORMIX-SQL执行屏幕:

    假设我要添加一个新的客户行和Perform。我想扫描客户的驾驶执照,并将该图像与客户的个人信息一起存储。这是如何完成的?…稍后,客户返回,我查询他的个人信息。然后我想查看客户的驾驶执照。如何知道在何处查找和显示客户的驾驶执照?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Jonathan Leffler    14 年前

    如果您使用的是IDS9.x或更高版本,那么您有blob或clob blob,以及byte和text blob。如果您使用的是在线4.00或更高版本(但在IUS 9.00之前),那么您将只有字节和文本块。

    ISQL可以或多或少地处理文本blob;在命令中,它将在包含文本blob数据的文件上启动您选择的程序,并在完成插入(添加)或更新操作时将该文件的内容保存回数据库。ISQL还将在屏幕上显示文本blob的前几行。

    ISQL只能部分处理字节blob。它可以在包含字节blob值的文件上运行您指定的程序,但是它不能显示文件的内容(这并非完全不合理;它是/是为基于curses的绿色屏幕终端设计的,并且它们并不以高质量的彩色位图图形而臭名昭著)。

    ISQL根本无法处理blob或clob列,afaik。

    如果您想显示驾驶执照的图像,您必须决定如何扫描、存储和显示图像。虽然您可能能够启动一个程序在位图屏幕上显示许可证图像,但您不再严格使用ISQL。类似的评论也适用于i4gl。ISQL和I4GL都不能真正显示位图图像。

    (我第一次遇到的在线和字节/文本blobs是编写一个演示应用程序来显示在sunos上运行的i4gl程序中的图片图像,这是为英国“哪一个1990年的电脑秀”而编写的。)