如何检查“发送查询”是否结束?

时间:2019-10-03 17:26:43

标签: sql r database rsqlite

我需要检查res中的dbSendQuery()是否结束。

我的代码是这样的:

db <- dbConnect(drv=SQLite(),flags=SQLITE_RW,dbname="db.sqlite",synchronous = "off")
dbBegin(db)
res <- dbSendQuery(db,"Update Operation SET Name = 'teste' where Id = 1")
if("my SendQuery is over"){
  dbClearResult(res)
  dbCommit(db)
  dbDisconnect(db)
}

我需要知道什么时候结束才能发送此内容以提交然后断开连接。

更新1 在我的系统中,对于上述示例,可以同时发生1个以上的用户。 然后,当db中的第一个连接结束时,我需要完成他的请求,并向另一个连接提供编写查询的可能性。

1 个答案:

答案 0 :(得分:2)

dbSendQuery()始终等待完成。您可以通过致电dbGetRowsAffected(res)进行仔细检查。

对于出于副作用而运行且不返回值的SQL语句,首选dbSendStatement()

synchronous = "off"的{​​{1}}参数是一个错误的名词,它定义了何时以及如何将数据写入磁盘。这里不涉及多线程。