Hallo,
ein zweidimensionales Feld soll in eine Datenbank gelegt werden und bei Bedarf wieder in das Programm gespielt werden. Das Grundgerüst zum Tabelle anlegen hat schon geklappt allerdings bin ich nicht sicher wie es am besten ist bei mehrdimensionalen Feldern gemacht wird. Ich denke eine verschachtelte Schleife könnte gut sein allerdings dazu meine Frage, die Reihenfolge der Aktionen sieht zur Zeit in etwa so aus,
DROP TABLE IF EXISTS
CREATE TABLE
INSERT INTO
VALUES
sqlite_exec
was müsste man in die Schleifen packen und was davor bzw danach?
Grüße
ein zweidimensionales Feld soll in eine Datenbank gelegt werden und bei Bedarf wieder in das Programm gespielt werden. Das Grundgerüst zum Tabelle anlegen hat schon geklappt allerdings bin ich nicht sicher wie es am besten ist bei mehrdimensionalen Feldern gemacht wird. Ich denke eine verschachtelte Schleife könnte gut sein allerdings dazu meine Frage, die Reihenfolge der Aktionen sieht zur Zeit in etwa so aus,
DROP TABLE IF EXISTS
CREATE TABLE
INSERT INTO
VALUES
sqlite_exec
was müsste man in die Schleifen packen und was davor bzw danach?
Code:
int main()
{
int feld[5][100] = {0}; // feld soll in db geschrieben werden
sqlite3 *db;
char *err_msg = 0;
int rc = sqlite3_open("datenbank.db", &db);
if (rc != SQLITE_OK)
{
fprintf(stderr, "Cannot open database: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return 1;
}
char *sql = "DROP TABLE IF EXISTS Tabelle_Nr;"
"CREATE TABLE Tabelle_Nr(Id INTEGER PRIMARY KEY, Dim1 REAL, Dim2 REAL);"
//test mit zwei zeilen soll dann aber durch zweidimensionale array ersetzt werden
"INSERT INTO Tabelle_Nr(Id, Dim1, Dim2) VALUES (1, 2.34567, 8.88888), (2, 675.964, 0.00032);";
rc = sqlite3_exec(db, sql, 0, 0, &err_msg);
if (rc != SQLITE_OK )
{
fprintf(stderr, "SQL error: %s\n", err_msg);
sqlite3_free(err_msg);
sqlite3_close(db);
return 1;
}
sqlite3_close(db);
return 0;
}
Grüße