如何在Shiny中将输入参数传递给SQL查询

时间:2014-06-03 12:24:06

标签: sql r shiny

当我从输入中选择 empno 时,应该传递给选择查询。

使用以下内容,我正在运行select * from emp,但我如何运行select * from emp where empno = xxxx

在server.R中

我希望运行select * from emp where empno = (user selected empno)

之类的东西

ui.R:

shinyUI(bootstrapPage(
  title="Reactive-Bootstrap",responsive=TRUE,theme=NULL,
  titlePanel=h5("Employee Report - Reactive"),

  sidebarLayout(
    sidebarPanel(
      selectInput(inputId="select",label="Select Employee",
                  choices=c(7369,7499,7521,7566),selected=7369)),

    mainPanel(tableOutput("dis")))))

server.R:

library(RODBC)
channel<-odbcConnect("shiny",uid="scott",pwd="tiger")
shinyServer(function(input,output){
  sql<-sqlQuery(channel,"SELECT * FROM EMP")
  output$dis<-renderTable(print(sql))
})

1 个答案:

答案 0 :(得分:1)

让我们说下拉菜单ID是empno然后尝试这个..

qry = paste0('select * from emp where empno ="',input$empno,'"')
sql<-sqlQuery(channel,qry)
output$dis<-renderTable(print(sql))

P.S。我假设输入$ empno与表中的ids链接。如果没有,那么在填充下拉菜单时设置...