Acessando banco de dados SQL usando brilhante com consulta reativa

Eu quero usar o Shiny para permitir que um usuário construa um quadro de dados acessando um banco de dados SQL. Quero que ele funcione da seguinte maneira (mas aberto a sugestões):

Tipos de usuário em ID (é um número)Usuário pressiona botão de açãoConsulta reativa é geradaA consulta é enviada e os dados são recuperados e adicionados ao quadro de dadosTipos de usuário no próximo ID ...

Aqui está a minha tentativa:

UI

library(markdown)

shinyUI(fluidPage(
  titlePanel("Generic grapher"),
  sidebarLayout(
    sidebarPanel(

  numericInput("wafer", label = h3("Select wafer ID:"), value = NULL),

  actionButton("do", "An action button")
  ),

  mainPanel(
    verbatimTextOutput("value"), verbatimTextOutput("que"), dataTableOutput(outputId="pos")
  )
)))

Servidor

library(RMySQL)
library(DBI)
library(sqldf)

con = dbConnect(RMySQL::MySQL(), dbname="Test_DB", username="pete", password="xx", host="xx", port=3306)
query <-  function(...) dbGetQuery(con, ...) 

wq = data.frame()
df = data.frame()

shinyServer(function(input, output){

  d <- eventReactive(input$do, { input$wafer })

  output$value <- renderPrint({ d() }) 

  a <- reactive({ paste("Select id from wafer where wafer_id=",d(), sep="") })

  output$que <- renderPrint({ a() }) 

  wq <- reactive({ rbind(wq, query( a() )) })

  output$pos <- renderDataTable({ wq() })
  })  

Quando executo, vejo que o ID e a consulta serão impressos corretamente. No entanto, recebo esse erro quando o aplicativo é executado primeiro:

error in evaluating the argument 'statement' in selecting a method for function 'dbGetQuery': Error:

Então, quando digito um ID de bolacha, recebo:

Error in xi[[j]] : object of type 'closure' is not subsettable

Eu sei dessas postagens:

R ERRO brilhante: objeto do tipo 'fechamento' não é subconfigurável

Erro no <meu código>: o objeto do tipo 'encerramento' não é sub-configurável

Que eu estou provavelmente tentando subconjunto de uma função base R sem definir o nome da variável ... mas eu me sinto estúpido, eu estou olhando para ele há um dia e não consigo vê-lo. Talvez meu código inteiro seja uma maneira ruim de consultar o SQL de forma brilhante? Qualquer ajuda apreciada.

Ah dam, ok .. se eu mudar isso:

wq <- reactive({ rbind(wq, query( a() )) })

para isso:

wq <- reactive({  query( a() ) })

Então eu recebo uma saída. Desculpe, acho que minha pergunta muda para como preencher um df com cada clique adicional no botão de ação?

questionAnswers(1)

yourAnswerToTheQuestion