#
# dbInsert = function(conn, table, vals,sql=NULL,run=TRUE, mode=c("insert","replace")[1]) {
# restore.point("dbInsert")
# cols = names(vals)
#
# if (is.null(sql)) {
# sql <- paste0(mode, " into ", table," values (",
# paste0(":",cols,collapse=", "),")")
# }
# if (!run) return(sql)
# ret = dbSendQuery(conn, sql, params=vals)
# invisible(ret)
# }
#
#
# dbDelete = function(conn, table, params, sql=NULL) {
# restore.point("dbDelete")
# if (is.null(sql)) {
# if (length(params)==0) {
# where = ""
# } else {
# where = paste0(" where ", paste0(names(params)," = :",names(params), collapse= " AND "))
# }
# sql = paste0('delete from ', table, where)
# }
# rs = dbSendQuery(conn, sql, params=params)
# rs
# }
#
#
# dbGetRow = function(conn, table, params, sql=NULL) {
# restore.point("dbGetRow")
# if (is.null(sql)) {
# if (length(params)==0) {
# where = ""
# } else {
# where = paste0(" where ", paste0(names(params)," = :",names(params), collapse= " AND "))
# }
# sql = paste0('select * from ', table, where)
# }
# rs = dbSendQuery(conn, sql, params=params)
# res = dbFetch(rs)
# if (NROW(res)==0) return(NULL)
# res
# }
#
# dbCreateSchemaTables = function(conn,schema=NULL, schema.file=NULL, overwrite=FALSE,silent=FALSE) {
# restore.point("dbCreateSchemaTables")
#
# if (is.null(schema)) {
# schema = yaml.load_file(schema.file)
# }
#
# tables = names(schema)
# table = "loginlinks"
# lapply(tables, function(table) {
# s = schema[[table]]
# if (overwrite)
# try(dbRemoveTable(conn, table), silent=silent)
# if (!dbExistsTable(conn, table)) {
# # create table
# sql = paste0("CREATE TABLE ", table,"(",
# paste0(names(s$table), " ", s$table, collapse=",\n"),
# ")"
# )
# dbSendQuery(conn,sql)
#
# # create indexes
# for (index in s$indexes) {
# err = try(dbSendQuery(conn,index), silent=TRUE)
# if (is(err,"try-error")) {
# msg = as.character(err)
# msg = str.right.of(msg,"Error :")
# msg = paste0("When running \n", index,"\n:\n",msg)
# stop(msg)
# }
# }
# }
# })
# invisible(schema)
# }
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.