我正在研究informix-4gl。我的程序即将从一个表添加和更新用户信息到多个表。如果用户提供的信息包含“'”符号或单引号,例如购买者姓名或用户地址.我的问题是当我更新表格时,包含单引号符号的信息不会更新。现在我发现必须有一个双引号才能输入不同在线服务器中的值。现在,我要将单引号更改为双引号。我曾尝试更改这样的代码,但它只读取单引号。
LET rmks_lgth = LENGTH(p_crsell.crse_purc_nme)
FOR a = 1 TO rmks_lgth
IF p_crsell.crse_purc_nme[a] = "'" THEN
LET p_crsell.crse_purc_nme[a] = "''"
END IF
END FOR
我曾尝试更改代码以生成双引号。对于包含“'”引号符号的每个输入,引号必须加倍。
LET rmks_lgth = LENGTH(p_crsell.crse_purc_nme)
FOR a = 1 TO rmks_lgth
FOR b = 1 TO rmks_lgth
IF p_crsell.crse_purc_nme[a] = "'" THEN
LET p_crsell.crse_purc_nme[a] = "'"
LET p_crsell.crse_purc_nme[b] = "'"
END IF
END FOR
END FOR
上面的代码只会产生输出
''
没有其他值的地方。有人叫 ceinmark 建议“我需要创建一个 4GL 函数来找到引号,然后在找到它的位置将字符串一分为二,并将“新”引号与字符串的这两个部分连接起来。”