Sqlite und C
-
nehm ich auch an ...
nur ich hab für linux nur ne bin gefunden wenn ich die einbind bringt das aber nix...
-
Dann musst du sie wohl aus dem Quellcode selbst bauen.
-
hmmmm viellicht hab ich sie auch nur falsch eingebunden ka ... naja bringt ja nix hier weiter zu schreiben... antworten die mir helfen bekomm ich eh net ...
-
Hi,
Kaladial schrieb:
wo is das problem das dann in nem vernünftigen ton zu erklären ?
...weil in deinem ersten Post der Eindruck erweckt wurde, dass du einfach nur zu faul zum Suchen bist.
...auch ne vernünftige antwort zu bekommen und net gleich von der ersten antwort an dumm angemacht zu werden...
Leider ist eine Mentalität zu beobachten, dass viele selber nicht in der Lage sind, einfache Fragen zu formulieren. Woher soll irgendjemand wissen, dass du das Beispiel bereits ausprobiert hast, und es nicht funktioniert? Woher soll irgendjemand wissen, wieviel Vorkenntnisse du hast? Woher soll irgendjemand wissen, welch IDE du benutzt? Alles Sachen, die man vorher hätte erwähnen können, dann wäre das hier alles auch anders verlaufen.
EDIT:
Vielleicht nochmal als Hinweis:
http://catb.org/~esr/faqs/smart-questions.html
-
hmmm mag sein, aber wenn ich jedesmal wenn ich ne frage stell erst mit meinem lebenslauf anfang weis ich auch net ob das so sinnvoll is ... man kann ja wichtige infos einfach höflich erfragen und dann is das kein ding... aber egal...
habs dann hinbekommen...
hab aber noch ne frage: ich würde meine datenbank datei gerne auf einem anderen rechner zentral lagern so das mehrere bentuzer übers netzwerk darauf zugreifen können...
unter java würde das wie folgt aussehn:
rc = sqlite3_open("avs.DB", &db);
<-- is ja der normale aufruf
und unter java mit netzwerk:
statt: avs.DB = \\\ip.vom.rechner\verzeichnis\avs.DB
wie bekomm ich das auch unter c hin, denn die syntax von java funktioniert nicht...
mfg Kaladial
-
Hi,
kurz noch dazu:
Kaladial schrieb:
wenn ich ne frage stell erst mit meinem lebenslauf anfang weis ich auch net ob das so sinnvoll is ... man kann ja wichtige infos einfach höflich erfragen und dann is das kein ding... aber egal...
Du kannst das ruhig weiterhin zynisch kommentieren, aber wenn so offensichtliche Infos fehlen, steigert das nicht gerade die Hilfsbereitschaft. Auf deine Ursprungsfrage war meine Antwort durchaus angemessen. Und in einem Fachforum wie hier kann man schon erwarten, dass der Hilfesuchende so viele Infos wie möglich liefert. Natürlich kann mal das ein oder andere vergessen werden, aber du hast genau NULL Infos geliefert.
Zu deinem eigentlichen Problem dieser Hinweis:
SQLite Documentation schrieb:
Client/Server Applications
If you have many client programs accessing a common database over a network, you should consider using a client/server database engine instead of SQLite. SQLite will work over a network filesystem, but because of the latency associated with most network filesystems, performance will not be great. Also, the file locking logic of many network filesystems implementation contains bugs (on both Unix and windows). If file locking does not work like it should, it might be possible for two or more client programs to modify the same part of the same database at the same time, resulting in database corruption. Because this problem results from bugs in the underlying filesystem implementation, there is nothing SQLite can do to prevent it.
A good rule of thumb is that you should avoid using SQLite in situations where the same database will be accessed simultaneously from many computers over a network filesystem.
Ergo: SQLite würde ich für produktive Daten nicht im Netzwerk nutzen.
Ich würde dir empfehlen, entweder ein anderes RDBMS zu nutzen (z.B. MySQL oder Postgres, die für sowas besser geeignet sind) oder dir das mal anzugucken (kenn ich allerdings auch nix von):
http://www.sqlite.org/cvstrac/wiki?p=SqliteNetwork
-
http://www.sqlite.org/cvstrac/wiki?p=SqliteNetwork
^^ die seite hatte ich mir auch schon zu gemüte geführt...
naja ich find auch das sqlite net so toll für mein vorhaben ist...nur ich bekomm ne kriese wenn ich dran denk mysql auf meiner kamera zum laufen zu bekommen... das will nämlich net wirklich...
aber ich denk ich werd das nochmal mit mysql versuchen...
-
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