Gast
2011-08-24, 15:43:59
Hallo!
Ich hantiere gerade etwas mit SQLite rum und habe ein kleines Problem:
int _tmain(int argc, _TCHAR* argv[])
{
sqlite3 *database;
sqlite3_open("Database.sqlite", &database);
int ret = 0;
ret = sqlite3_exec(database, "CREATE TABLE datasets (id integer primary key, name text, vorname text);", NULL, NULL, NULL);
ret = sqlite3_exec(database, "INSERT INTO datasets (name, vorname) VALUES ('Musterfrau', 'Maria');", NULL, NULL, NULL);
ret = sqlite3_exec(database, "INSERT INTO datasets (name, vorname) VALUES ('Mustermann', 'Max');", NULL, NULL, NULL);
...
}
Wenn die Tabelle schon vorhanden ist, wird der entsprechende Code zurückgegeben und es geht weiter.
Mein Problem ist nun, dass dies nicht auf die "INSERT INTO"s zutrifft, sprich da werden weitere Einträge mit denselben Namen angelegt. Kann ich vor dem INSERT INTO irgendwie prüfen, ob der Eintrag mit Vorname und Nachname schon vorhanden ist? In diesem Fall soll der INSERT INTO nämlich nicht ausgeführt werden.
Ich hantiere gerade etwas mit SQLite rum und habe ein kleines Problem:
int _tmain(int argc, _TCHAR* argv[])
{
sqlite3 *database;
sqlite3_open("Database.sqlite", &database);
int ret = 0;
ret = sqlite3_exec(database, "CREATE TABLE datasets (id integer primary key, name text, vorname text);", NULL, NULL, NULL);
ret = sqlite3_exec(database, "INSERT INTO datasets (name, vorname) VALUES ('Musterfrau', 'Maria');", NULL, NULL, NULL);
ret = sqlite3_exec(database, "INSERT INTO datasets (name, vorname) VALUES ('Mustermann', 'Max');", NULL, NULL, NULL);
...
}
Wenn die Tabelle schon vorhanden ist, wird der entsprechende Code zurückgegeben und es geht weiter.
Mein Problem ist nun, dass dies nicht auf die "INSERT INTO"s zutrifft, sprich da werden weitere Einträge mit denselben Namen angelegt. Kann ich vor dem INSERT INTO irgendwie prüfen, ob der Eintrag mit Vorname und Nachname schon vorhanden ist? In diesem Fall soll der INSERT INTO nämlich nicht ausgeführt werden.