Mercurial > garten
comparison growth.c @ 11:176ee28e7464
switched from mysql to sqlite; (+ some cleanups)
author | meillo@marmaro.de |
---|---|
date | Wed, 23 Jul 2008 11:41:38 +0200 |
parents | b1e309dc0b98 |
children | 8db6497d6065 |
comparison
equal
deleted
inserted
replaced
10:13c6828bd4a5 | 11:176ee28e7464 |
---|---|
1 #include <stdio.h> | 1 #include <stdio.h> |
2 #include <stdlib.h> | 2 #include <stdlib.h> |
3 #include <mysql.h> | |
4 | 3 |
5 #include "db.h" | 4 #include "db.h" |
6 #include "game.h" | 5 #include "game.h" |
7 | 6 |
8 | 7 |
14 | 13 |
15 /* get weather and last environments to calculate the next one */ | 14 /* get weather and last environments to calculate the next one */ |
16 sprintf(query, "select\ | 15 sprintf(query, "select\ |
17 f.id, f.size, f.age, p.size, p.growspeed, p.age\ | 16 f.id, f.size, f.age, p.size, p.growspeed, p.age\ |
18 from field f\ | 17 from field f\ |
19 join plant p on f.plant_id = p.id\ | 18 join plant p on f.plant_id = p.id "); |
20 where f.game_id = '%d' ", | |
21 gameid); | |
22 db_query(query); | 19 db_query(query); |
23 result = mysql_store_result(conn); | 20 /* printf("number of plants to process: %d\n", (int)mysql_num_rows(result)); */ |
24 printf("number of plants to process: %d\n", (int)mysql_num_rows(result)); | 21 while (sqlite3_step(stmt) == SQLITE_ROW) { |
25 while ((row = mysql_fetch_row(result)) != NULL) { | |
26 for (i = 0; i < 6; i++) { | 22 for (i = 0; i < 6; i++) { |
27 r[i] = atoi(row[i]); | 23 r[i] = (char) sqlite3_column_int(stmt, i); |
28 } | 24 } |
29 | 25 |
30 sprintf(query, "update field set \ | 26 sprintf(query, "update field set \ |
31 size = '%d', age = '%d' \ | 27 size = '%d', age = '%d' \ |
32 where id = '%d' ", | 28 where id = '%d' ", |
33 (r[1] + 1), r[2]+1, r[0]); | 29 (r[1] + 1), r[2]+1, r[0]); |
34 db_query(query); | 30 db_query(query); |
31 ; | |
35 | 32 |
36 if (mysql_affected_rows(conn) > 0) { | 33 if (sqlite3_step(stmt) == SQLITE_DONE) { |
37 printf("update successful ++ %s\n", query); | 34 printf("update successful ++ %s\n", query); |
38 } else { | 35 } else { |
39 printf("E: update failed ++ %s\n", query); | 36 printf("E: update failed ++ %s\n", sqlite3_errmsg(db)); |
40 } | 37 } |
41 | 38 |
42 } | 39 } |
43 mysql_free_result(result); | 40 sqlite3_finalize(stmt); |
44 | 41 |
45 | 42 |
46 | 43 |
47 | 44 |
48 } | 45 } |
51 int main(int argc, char* argv[]) { | 48 int main(int argc, char* argv[]) { |
52 printf(" --> %s\n", argv[0]); | 49 printf(" --> %s\n", argv[0]); |
53 | 50 |
54 /* init */ | 51 /* init */ |
55 if (argc != 2) { | 52 if (argc != 2) { |
56 printf("usage: %s <game>\n", argv[0]); | 53 printf("usage: %s <database>\n", argv[0]); |
57 exit(1); | 54 exit(1); |
58 } | 55 } |
59 gamename = argv[1]; | 56 database = argv[1]; |
60 | 57 |
61 db_connect(); | 58 db_connect(); |
62 check_game(); | 59 read_time(); |
63 | 60 |
64 grow_plants(); | 61 grow_plants(); |
65 | 62 |
66 | 63 |
67 db_close(); | 64 db_close(); |