#include #include #include int main(int argc, char **argv) { /* otwarcie/stworzenie bazy danych */ struct sqlite3 *db; sqlite3_open("database.db", &db); /* wykonanie gotowego zapytania */ const char *sql = "CREATE TABLE pracownicy("\ "id INTEGER PRIMARY KEY AUTOINCREMENT, "\ "imie VARCHAR(255), "\ "nazwisko VARCHAR(255));"; struct sqlite3_stmt *stmt; sqlite3_prepare(db, sql, -1, &stmt, NULL); sqlite3_step(stmt); sqlite3_finalize(stmt); /* dodanie danych w pętli, wykorzystanie zapytań przygotowanych */ const char *data[2][2] = { { "Jan", "Nowak" }, { "Adam", "Kowalski" } }; sql = "INSERT INTO pracownicy(imie, nazwisko) VALUES(?, ?);"; sqlite3_prepare(db, sql, -1, &stmt, NULL); int i; for (i = 0; i < 2; i++) { sqlite3_bind_text(stmt, 1, data[i][0], -1, SQLITE_STATIC); sqlite3_bind_text(stmt, 2, data[i][1], -1, SQLITE_STATIC); sqlite3_step(stmt); sqlite3_reset(stmt); } sqlite3_finalize(stmt); /* odczytanie danych z bazy */ sql = "SELECT imie, nazwisko FROM pracownicy ORDER BY nazwisko;"; sqlite3_prepare(db, sql, -1, &stmt, NULL); while (sqlite3_step(stmt) == SQLITE_ROW) { printf("Imie: %s\tNazwisko: %s\n", sqlite3_column_text(stmt, 0), sqlite3_column_text(stmt, 1)); } sqlite3_finalize(stmt); /* zamknięcie połączenia */ sqlite3_close(db); return 0; }