我是 Informix-SQL 新手。我正在尝试在 Informix 中创建表单。我提到了some resources online
这就是我现在访问数据库的方式dbaccess database_name
。我看不到用于创建表单的“表单”菜单。我是一个绝对的初学者。如果有人可以引导我走向正确的方向(我应该运行的正确命令和我可以引用的文档),我将不胜感激。提前致谢。
最佳答案
DB-Access 程序不是 ISQL。事实上,DB-Access 与 ISQL 相比的主要区别恰恰在于 DB-Access 不支持报表或表单。
要创建表单,您需要 Informix SQL 的开发版本,并且您可以运行 isql
程序(选择 Forms 选项,然后选择“Generate”,然后按照提示操作),或者运行sformbld
程序,带有创建默认表单的选项:
sformbld -d formname database table1 ...
无论哪种方式,您通常都会最终编辑(通常是广泛的)表单源文件(.per
扩展名,用于运行它的 Perform(又名 sperform
)程序)。使用您选择的纯文本编辑器(vim
、emacs
、pico
等 - 任何适用于 C 代码的内容也适用于 ISQL。
What is the difference between
isql
andsformbld
?
$ 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 的行为类似,而不是相反。 )
关于informix - 如何在 Informix SQL 中创建屏幕表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7591769/