void loadSlotData(){ sqlite3 * conn; sqlite3_stmt * result; int error = 0; const char * tail; char dbpath[2000]; strjoin(dbpath, ROOTPATH, "/", DBNAME, NULL); sql_open(dbpath, &conn); prepare(conn, "SELECT * FROM slots;", 2000, &result, &tail); int i = 0; while(sqlite3_step(result) == SQLITE_ROW){ char tripleState[2000]; makeTripleNum(tripleState, sqlite3_column_int(result, 0), (char *) sqlite3_column_text(result, 1), (int) sqlite3_column_int(result, 2)); char _state[2000] = "state"; mapAdd(&detailsMap, strappNum(_state, i+1), tripleState); char _timestr[2000] = "time"; mapAdd(&detailsMap, strappNum(_timestr, i+1), (char *)sqlite3_column_text(result, 4)); i++; } sqlite3_finalize(result); sqlite3_close(conn); }
int sql_prepOpen(const char *stmt, ...) { int n; struct OCURS *o; va_start(sqlargs, stmt); n = prepareCursor(stmt, false); if(n < 0) { SQLFreeHandle(SQL_HANDLE_STMT, hstmt); return n; } if(openfirst) goto done; o = findCursor(n); sql_open(n); if(rv_lastStatus) { o->flag = CURSOR_NONE; /* back to square 0 */ SQLFreeHandle(SQL_HANDLE_STMT, o->hstmt); o->hstmt = SQL_NULL_HSTMT; rv_numRets = 0; memset(rv_type, 0, sizeof (rv_type)); n = -1; } done: exclist = 0; return n; } /* sql_prepOpen */
/************************************************************************************************** DB_CONNECT Connect to the database. **************************************************************************************************/ void db_connect(void) { const char *user = conf_get(&Conf, "db-user", NULL); const char *host = conf_get(&Conf, "db-host", NULL); const char *database = conf_get(&Conf, "database", NULL); const char *password = conf_get(&Conf, "db-password", NULL); /* If db- vars aren't present, try mysql- for backwards compatibility */ if (!user) user = conf_get(&Conf, "mysql-user", NULL); if (!host) host = conf_get(&Conf, "mysql-host", NULL); if (!password) password = conf_get(&Conf, "mysql-password", NULL); if (!password) password = conf_get(&Conf, "mysql-pass", NULL); sql_open(user, password, host, database); Verbose(_("connected to %s, database \"%s\""), host, database); }
bool sql_run(const char *stmt, SQL_ROW &argv) { SQL_CURSOR fd; bool ret=true; fd = sql_open(stmt, argv); if (ret=chk_cursor(fd, stmt)) { if (cursor_arr[fd].is_select) { ret=sql_fetch(fd); if (ret) { argv=sql_values(fd); } else { ret=chk_cursor(fd, stmt); } } } if (fd>=0) sql_close(fd); return ret; }
bool sql_exists(const char *table, const char *field, const char *value, const char *where) { char stmt[sql::MAX_QUERY_LEN]; SQL_CURSOR c; int rv=false; if (value && *value) { sprintf(stmt,"select '1' from %s where %s = %s", table, field, value); } else { sprintf(stmt,"select '1' from %s",table); if (where && *where) { sprintf(stmt+strlen(stmt),"where %s",where); } } if (((c=sql_open(stmt))>=0) && sql_fetch(c)) { rv=true; } sql_close(c); return rv; }
static int mdb_open(struct menudb_handle *mh) { if (SQLARG(mh) != NULL) { errno = EBADF; return -1; } if ((SQLARG(mh) = sql_makearg(SQL_MDB)) == NULL) return -1; SQLARG(mh)->err = mdb_puterr; if (sql_open(SQLARG(mh), mh->dbfile) == -1) { sql_freearg(SQLARG(mh)); return -1; } return 0; }
static int cdb_open(struct custdb_handle *ch) { if (SQLARG(ch) != NULL) { errno = EBADF; return -1; } if ((SQLARG(ch) = sql_makearg(SQL_CDB)) == NULL) return -1; SQLARG(ch)->err = cdb_puterr; if (sql_open(SQLARG(ch), ch->dbfile) == -1) { sql_freearg(SQLARG(ch)); return -1; } return 0; }
int CDbxSQLite::Open(const wchar_t *profile) { T2Utf path(profile); if (sql_open(path, &m_sqlite) != SQLITE_OK) return 1; //utils_vacuum_check(); { sql_exec(m_sqlite, "BEGIN TRANSACTION;"); sql_exec(m_sqlite, "PRAGMA locking_mode = EXCLUSIVE;"); sql_exec(m_sqlite, "PRAGMA synchronous = NORMAL;"); sql_exec(m_sqlite, "PRAGMA cache_size = 6000;"); sql_exec(m_sqlite, "PRAGMA temp_store = MEMORY;"); sql_exec(m_sqlite, "COMMIT;"); } sql_prepare_statements(); FillContacts(); return 0; }
int main (int argc, char *argv[]) { int i = 0, j = 0; st_sql_t *sql = NULL; const char **row = NULL; if (!(sql = sql_open ("localhost", 3306, "root", "nb", "mysql", SQL_MYSQL))) return -1; sql_write (sql, "SELECT * FROM user"); for (i = 0; (row = (const char **) sql_getrow (sql, i)); i++) { for (j = 0; row[j]; j++) printf ("\"%s\" ", row[j]); printf ("\n"); } sql_write (sql, "SELECT * FROM user"); row = (const char **) sql_getrow (sql, 2); if (row) { for (j = 0; row[j]; j++) printf ("\"%s\" ", row[j]); printf ("\n"); } sql_write (sql, "SELECT * FROM user WHERE user = '******'"); for (i = 0; (row = (const char **) sql_getrow (sql, i)); i++) { for (j = 0; row[j]; j++) printf ("\"%s\" ", row[j]); printf ("\n"); } sql_close (sql); return 0; }