· 8 years ago · Aug 09, 2018, 09:46 PM
1How can i save a struct in SQLITE C
2struct vector3
3{
4 int X;
5 int Y;
6 int Z;
7};
8
9int main ()
10{
11 sqlite3 *db = NULL;
12 sqlite3_stmt *res = NULL;
13
14 sqlite3_open_v2("SaveGame1.sav", &db, SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE, NULL);
15
16 string query = "CREATE TABLE IF NOT EXISTS TestPlayer (vector BLOB)";
17 sqlite3_prepare_v2 (db, query.c_str(), query.length(), &res, 0);
18 sqlite3_step(res);
19
20 // Try to add mij struct
21 vector3 MyLocation;
22 MyLocation.X = 100;
23 MyLocation.Y = 100;
24 MyLocation.Z = 100;
25
26 query = "INSERT INTO TestPlayer (location) VALUES (?);";
27 sqlite3_prepare_v2 (db, query.c_str(), query.length(), &res, 0);
28
29 sqlite3_bind_blob (res, 1, &MyLocation, sizeof(vector3), SQLITE_TRANSIENT);
30 sqlite3_step(res);
31
32 query = "SELECT * FROM TestPlayer;";
33 sqlite3_prepare_v2 (db, query.c_str(), query.length(), &res, 0);
34 sqlite3_step(res);
35
36 const vector3 *GetLoc = (const vector3 *) sqlite3_column_blob(res, 0);
37
38 cout << GetLoc->X << endl;
39
40 sqlite3_finalize(res);
41 sqlite3_close(db);
42
43 return 0;
44}