Mercurial > garten
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 } |