intersystems-cache - 使用部分名称在全局中搜索名称
问题描述
我创建了一个全局名称,我试图通过仅使用名称开头的相同字符来打印出匹配的名称。示例:输入 Sm 并返回值 Smith, John A。
我创建了这个:
N prompt,val
S prompt="Enter a name (LAST,FIRST MI): "
F W !,prompt R val Q:val="" D
. I val'?1.A1",".1" "1.A.1(1" "1A) W !,"Invalid name"
. E S ^ZNAME(val)=""
F S val=$O(^ZNAME(val)) Q:val="" D
. W !,"You entered: ",val
Q
我输入了两个名字,得到了想要的结果。^ZNAME("MITCHELL, DAVID J")^ZNAME ("SMITH, JOHN A")。
我希望能够读取部分名称并搜索 ^ZNAME 并返回它匹配的值。在这种情况下,读取“Sm”并返回“Smith, John A”。
N partial,val
S partial="Enter a name or partial name: "
F W !,partial R val Q:val="" D
. W !,$O(^ZNAME("val"))
Q
当我从读取命令中输入“Sm”时,它会循环返回输入名称或部分名称,而不是给我想要的 Smith,John A 的结果。我错过了一些我知道的东西,但有点筋疲力尽。任何帮助都会非常感谢您!
解决方案
你在 val 周围有双引号:
. W !,$O(^ZNAME("val"))
Q
所以它试图在没有值的 ^ZNAME("val") 处写入值。删除双引号,它应该可以工作。
推荐阅读
- python - 从 pygame 的列表中弹出特定元素
- javascript - Javascript数组与对象
- r - 我将如何在 R 中尝试这个:
- mongodb - 如何在不改变对象的情况下按 MongoDB 中的特定字段对查询结果进行分组?
- flutter - 使用 Flutter 测试 Firebase 云消息传递
- jquery - Run jQuery toggle in three parts
- c++ - 使用 C++ 中的类进行队列
- matlab - 为什么matlab给出fminsearch优化错误?
- jquery - 隐藏前一列时如何保留列的位置?
- spring - 带有嵌入式 Tomcat 服务器错误的 Spring mvc 应用程序:“无法确定 Web 应用程序 context.xml”