comparison db.c @ 20:17b2bcc42d72 default tip

added check for empty result; minor stuff
author meillo@marmaro.de
date Sun, 27 Jul 2008 21:34:54 +0200
parents 5937504619f2
children
comparison
equal deleted inserted replaced
19:eb8db0d906de 20:17b2bcc42d72
1 #include <stdio.h> 1 #include <stdio.h>
2 #include <stdlib.h> 2 #include <stdlib.h>
3 #include "db.h" 3 #include "db.h"
4 4
5
6
7 void db_error(char* info) {
8 fprintf(stderr, "%s%sSQL error: %s\n", (info) ? info : "", (info) ? ": " : "", sqlite3_errmsg(db));
9 }
5 10
6 11
7 void db_connect() { 12 void db_connect() {
8 if (sqlite3_open(database, &db) != SQLITE_OK) { 13 if (sqlite3_open(database, &db) != SQLITE_OK) {
9 fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); 14 fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
55 return i; 60 return i;
56 } 61 }
57 62
58 63
59 int read_time() { 64 int read_time() {
65 int error;
66
60 sprintf(query, "select time from game;"); 67 sprintf(query, "select time from game;");
61 stmt = db_query(query); 68 stmt = db_query(query);
62 if (sqlite3_step(stmt) != SQLITE_ROW) { 69 error = sqlite3_step(stmt);
63 printf("error: %s\n", sqlite3_errmsg(db)); 70 if (error == SQLITE_DONE) {
71 fprintf(stderr, "no game available\n");
72 exit(1);
73 }
74 if (error != SQLITE_ROW) {
75 db_error("read_time");
64 exit(1); 76 exit(1);
65 } 77 }
66 gametime = sqlite3_column_int(stmt, 0); 78 gametime = sqlite3_column_int(stmt, 0);
67 sqlite3_finalize(stmt); 79 sqlite3_finalize(stmt);
68 return gametime; 80 return gametime;
69 } 81 }
70
71
72 void db_error(char* info) {
73 fprintf(stderr, "%s%sSQL error: %s\n", (info) ? info : "", (info) ? ": " : "", sqlite3_errmsg(db));
74 }