r - R Shiny SQLite App:数据检索问题
问题描述
我正在尝试从用户选择的数据库中检索数据。我每次遇到的错误是:
“卡马西平”附近:语法错误
ps:卡马西平是用户选择的元素。
我的sqlite数据库如下:
我对编程很陌生。谁能帮忙?我在互联网上阅读过,问题可能是由于 sqlite 数据库中的数据类型错误而发生的。任何人都可以提出任何建议吗?我的代码如下:
全球.r
# Libraries
library("shiny")
library("RSQLite")
library("dtplyr")
library("dplyr")
# Globar Variables
db <- dbConnect (SQLite(),
"/Users/sudiptobosu/200922/20200714PPCP.sqlite")
# Global Function
names_ppcp = dbGetQuery(db, "Select PPCP FROM mydata")
服务器.r
shinyServer(function (input, output, session) {
output$ppcpOut <- reactive({
input$user1
})
output$propertyOut <- reactive({
input$user2
})
ppcpquery <- reactive({
input$user1
})
query <- reactive({
paste('SELECT solubility FROM mytable WHERE PPCP = "%s"', ppcpquery())
})
output$valueout <- reactive({
dbGetQuery(db,paste(query()))
})
#propertyquery <- eventReactive ({input$user2})
session$onSessionEnded (function()
{
dbDisconnect(db)
})
})
用户界面
ui <- fluidPage (
titlePanel("bo-DEREC CE"),
sidebarLayout(
sidebarPanel(
selectInput("user1","Select the PPCP",choices = names_ppcp),
selectInput("user2","Select the property",choices = c("Solubility","Volatility","Adsorbability","Degradability"))
),
mainPanel(
textOutput("ppcpOut"),
textOutput("propertyOut"),
textOutput("valueout")
)
)
)
解决方案
一般来说,如果您提供了一个可以运行的示例,那么在这里找出问题所在会更容易 - 但是查看您的代码,如果您有这行:
paste('SELECT solubility FROM mytable WHERE PPCP = "%s"', ppcpquery())
,您可能想要这个:sprintf('SELECT solubility FROM mytable WHERE PPCP = "%s"', ppcpquery())
。
paste
不支持使用类似的变量%s
,需要使用sprintf
这种方式构造字符串。
推荐阅读
- reactjs - React JS:将值从路由传递到组件
- oracle - 未使用可传输表空间复制的列
- asp.net-mvc - 如何将 Mvc 路由空间(如“%20”)更改为“-”
- elasticsearch - ElasticSearch 集群最终开始在搜索中返回错误的 hits.total
- javascript - 反应范围滑块值气泡
- html - 无论屏幕大小如何,如何使 svg 占据屏幕的 100%
- python-3.x - 使用python的每个小时的月平均值
- docker - 在 Rancher 上更改 docker 登录凭据
- javascript - 尝试提交一个 Javascript 表单,然后提交两个表单
- javascript - 如何在 Google App Script 中执行数组操作?