【发布时间】:2014-10-01 00:14:44
【问题描述】:
我有一个带有复选框组输入的 Shiny 应用程序。用户可以选择多个输入。我还有一个链接到数据库的 ODBC 连接。该过程将是,当用户从复选框组中选择项目时,该用户输入将成为 sql 查询中字符串的一部分以过滤数据。
UI.R(部分展示示例)
checkboxGroupInput('Type', 'Type', c(
"AX"="AX",
"AY"="AY",
"AZ"="AZ",
"BGB"="BGB",
"BT"="BT",
"BX"="BX",
"BXT"="BXT",
"C"="C",
"CNT"="CNT")),
表中“Type”信息所在的列称为COMPONENT,所以我使用RODBC的sql查询是
data <- odbcConnect("database", uid="username", pwd="password")
query <- (SELECT ID, NAME, TYPE FROM COMPONENT WHERE TYPE LIKE Input$Type)
df <- odbcQuery(data, query)
查询行不起作用,但我不知道如何获取多个输入并将它们正确放置在查询中。此外,还有一个额外的复杂程度,我不知道如何处理。数据库中的数据是字母数字,所以可能不是AX,而是AX14或AX 71。另外,因为有一些单字母类型,使用通配符似乎有点困难。
【问题讨论】:
-
你连接的是什么类型的数据库?
-
@MatthewPlourde 这是一个 Oracle 数据库。这是一个 32 位数据源,我在 64 位机器上运行。 DSN 配置正确,因为我能够在控制台中进行简单的查询
-
看看this question的答案。
-
@MatthewPlourde 正则表达式看起来很有希望。解决后我会发布解决方案。谢谢