module captain_db use sqlite implicit none character(1024)::database_file type(c_ptr)::db contains subroutine initialize_db(filename) implicit none character(*), intent(in)::filename if(sqlite3_open(filename, db) == SQLITE_OK) then database_file = filename else Print *, "ERROR: Could not open db" stop end if end subroutine initialize_db subroutine shutdown_db() implicit none integer::i i = sqlite3_close(db) end subroutine shutdown_db subroutine add_player_db(name, token) implicit none character(*), intent(in)::name, token type(sqlite3_stmt)::stmt if(stmt%prepare(db, "INSERT INTO players(name, token) VALUES(?, ?)") == SQLITE_OK) then if(stmt%bind_text(1, "name!") == SQLITE_OK .and. stmt%bind_text(2, "token!") == SQLITE_OK) then call stmt%step_now() end if end if call stmt%finalize() end subroutine add_player_db end module captain_db