自动完成 Just SQL / RPG 和 Assembly

Autocomplete Just SQL / RPG and Assembly

所以我正在努力实现一个自动完成搜索栏,并将其与使用 DB2 的 RPG 和组装系统集成。我尝试了这两种技术来从文件中搜索不同的 IDNumbs,在搜索发生之前输入至少需要 3 个数字。我尝试了以下方法:

 Regular expression example:  ^[0-9]*$ 

SQL

SELECT DISTINCT [IDNUM] FROM FILE WHERE [iNPUT] > 3;

不幸的是,这两种技术都无法准确工作。如果有人对如何使它更健壮有一些建议,我会很高兴。 RPG 解决方案也很受欢迎,但是 SQL 一个会很棒。

您可以通过以下方式检查您的搜索字符串是否为 RPG 中的数字:

MONITOR
    EVAL FIELD = %INT(SEARCH_STR)
ON-ERROR
    // error: not a number
ENDMON 

其中 SEARCH_STR 是您的搜索字符串,FIELD 定义为数字。

关于查询,如果服务器是 DB2,这应该有效:

SELECT DISTINCT(IDNUM) 
FROM FILE
WHERE CHARACTER_LENGTH(SEARCH_STR) >= 3 AND 
      IDNUM LIKE '%SEARCH_STR%'

用您的搜索字符串更改 SEARCH_STR

但我建议通过代码而不是通过 SQL 检查搜索字符串的长度,因为这样做很简单。