如何在 Informix SQL 中创建屏幕表单?

Posted

技术标签:

【中文标题】如何在 Informix SQL 中创建屏幕表单?【英文标题】:How to create screen form in Informix SQL? 【发布时间】:2011-09-29 02:21:26 【问题描述】:

我是 Informix-SQL 的新手。我正在尝试在 Informix 中创建表单。我提到了some resources online

这就是我目前访问我的数据库的方式dbaccess database_name。我看不到用于创建表单的“表单”菜单。我是一个绝对的初学者。如果有人能指导我正确的方向(我应该运行的正确命令和我可以参考的文档),我将不胜感激。提前致谢。

【问题讨论】:

【参考方案1】:

DB-Access 程序不是 ISQL。事实上,DB-Access 与 ISQL 相比的主要区别在于 DB-Access 不支持报表或表单。

要创建表单,您需要 Informix SQL 的开发版本,并且您可以运行 isql 程序(选择 Forms 选项,然后选择 Generate,然后按照提示进行操作),或者运行 sformbld 程序创建默认表单的选项:

sformbld -d formname database table1 ...

无论哪种方式,您通常最终都会大量编辑表单源文件(.per 扩展名,用于运行它的 Perform(又名 sperform)程序)。使用您选择的纯文本编辑器(vimemacspico 等 - 任何适用于 C 代码的内容也适用于 ISQL。


isqlsformbld 有什么区别?

$ ls -il isql sformbld sperform saceprep sacego
212302 -rwxr-xr-x 5 informix informix 844005 2010-09-17 11:24 isql
212302 -rwxr-xr-x 5 informix informix 844005 2010-09-17 11:24 sacego
212302 -rwxr-xr-x 5 informix informix 844005 2010-09-17 11:24 saceprep
212302 -rwxr-xr-x 5 informix informix 844005 2010-09-17 11:24 sformbld
212302 -rwxr-xr-x 5 informix informix 844005 2010-09-17 11:24 sperform
$

同一可执行文件的不同名称。但是,可执行文件的行为取决于调用它的名称。当以sformbld 调用时,它会编译表单;使用-d 选项,它会生成一个表单,然后编译它。当以sperform 调用时,它会运行一个表单。当以saceprep 调用时,它会编译一个ACE 报告;当以sacego 调用时,它会运行一个报告。 (“s”前缀表示 ACE 和 Perform(和 FormBuild)的 SQL 版本;当它于 1985 年首次发布时,还有一个名为 Informix 3.30 的非 SQL 产品,这些程序是套件的一部分。)

当以isql 调用时,该程序充当交互式菜单 IDE,用于创建和运行表单和报告 - 除非使用选项调用以使其运行表单或编译报告等。

isql -fc form    # Compile form
isql -fr form    # Run form
isql -rc report  # Compile report
isql -rr report  # Run report

isql dbase [-|script]   # Runs SQL script, rather like DB-Access does

(实际上,在 90 年代初的一个晚上——或者可能是 80 年代末的一个晚上——DB-Access 是通过从 ISQL 中剥离不需要的代码而创建的。因此,DB-Access 的行为类似于 ISQL,而不是反之亦然。 )

【讨论】:

反应真快。你知道sformbld和isql有什么区别吗? 你知道我怎样才能对用户隐藏 .sql 脚本,而 isql -qr script.sql 仍然可以执行它们吗?...我尝试在 .sql 文件上设置 hidden 属性,但 isql 被炸毁了出来。 不 - 我不认为有办法做到这一点 - 更不是在 Windows 平台上。在 Unix 上,您可以使用 SUID 程序玩愚蠢的游戏,并将 .sql 文件重定向为标准输入等,但这也可能不是您想要的结果。 @JonathanLeffler:在您对 DB-Access 的回答中进行了有趣的编辑,但我在 ISQL 4.10(1991 年)中没有看到任何 DB-Access。我在想,因为无法隐藏 .sql 脚本在 isql 中,也许使用符号链接(win-vista/7 支持它们),可以做到吗? DB-Access 主要与服务器一起分发,而不是与 ISQL 一起分发。和 IIRC,它首先与 OnLine 5.00 和 SE 5.00 一起发布。在最新版本的 CSDK 中,我相信它现在也可用。

以上是关于如何在 Informix SQL 中创建屏幕表单?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Informix 中创建 BTS 索引

如何在informix中创建触发器?

在 Informix 中创建 TEMP 存储过程

如何在 Xamarin 表单中创建半屏相机视图

在informix中创建存储过程

使用 prepare 语句在 informix 4gl 中创建临时表