Sqlite und C
-
Ich kann es nicht Compilieren:
ld.exe:: cannot find -lsqlite3_5_0.lib :: === Build finished: 1 errors, 0 warnings ===
-
Hi,
das liegt daran, dass entweder die lib gar nicht installiert ist oder der Linker sie nicht findet.
-
So mit dem ganzen Pfad geht es.
Ich suche jetzt suche ich ein Beispielprogramm, mit Google habe ich nicht sonderlich viel gefunden.
Ich möchte 1. einen SQL Befehlausführen, z.b. INSERT INTO [Tabelle] (Feld1, Feld2) VALUES (wert1, wert2)und 2. wieder was auslesen und in einer while-schleife abarbeiten.
Erfahrung mit bearbeiten SQL-Befehlen habe ich von PHP, nur leider kenne ich C++ die nötige Syntax nicht.
Und was mich auch Interessiert, bei C++ muss ich auf Datentypen achten, entspricht ein VARCHAR einem string oder einem Array aus Zeichen?
-
Hallo,
welche C++ Syntax? Du übergibst ein SQL Statement, wie in dem Beispiel:
http://www.sqlite.org/quickstart.htmlEs ist egal, ob Python, Perl, PHP oder C++, denn das SQL Statement ist einfach nur ein String.
-
Falls noch jmd eine recht komplette Einführung in SQLite und die API sucht, der sollte einen Blick in "The Definitive Guide to SQLite" werfen.
tt
-
CarstenJ schrieb:
Hallo,
welche C++ Syntax? Du übergibst ein SQL Statement, wie in dem Beispiel:
http://www.sqlite.org/quickstart.htmlEs ist egal, ob Python, Perl, PHP oder C++, denn das SQL Statement ist einfach nur ein String.
Ich habe mich falsch ausgedrückt.
Ich meinte eigentlich wie ich die Funktionen dazu benutze.z.b. in PHP geht es einfach so:
$db = new SQLiteDatabase("db.sqlite"); $result = $db->query("SELECT * FROM foo"); while ($result->valid()) { $row = $result->current(); echo $row['spalte']; $result->next(); }
-
Hi,
in C wird die Callbackfunktion aufgerufen:
static int callback(void *NotUsed, int argc, char **argv, char **azColName){ int i; for(i=0; i<argc; i++){ printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL"); } printf("\n"); return 0; }
Es macht ja im Grunde genau das gleiche wie dein PHP Skript, es gibt nur ne For statt einer While Schleife. Und statt die Ergebnisse in einem Array zu speichern, werde sie direkt ausgegeben. Also ist das Ergebnis quasi ein char*.
-
Aber wenn der das an die Callback funktion übergibt, kann ich meine Ergebnisse nicht in der main Funktion weiter verarbeiten?
-
Hi,
ein Beitrag unter deinem:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-193847.html
-
Ich habe ein neues Problem, ich habe eine Tabelle 'Mitarbeiter' mit folgenden Feldern:
'id' INTEGER( 5 ) primary key autoincrement
'name' VARCHAR( 20 ) NOT NULL
'vorname' VARCHAR( 20 ) NOT NULLUnd wenn ich nun da jemanden eintrage möchte:
INSERT INTO 'Mitarbeiter' (id, name, vorname) VALUES ( ' ', 'Nachname', 'Vorname')
Bekomme ich diesen Fehler: 20: datatype mismatch
-
Hi
das liegt vermutlich daran, dass deine id ein INT ist, du aber ' ' eintragen willst, was ein leerer String ist. Entweder du gibst eine Zahl ein, oder lässt es ganz weg:
http://www.sqlite.org/autoinc.html