datenbank in c einbinden
-
hallo,
ich hab hier schon mal gefragt, aber keine antworten erhalten, darum frag ich noch mal.
ich will firebird oder sqlite (beides embedded) in ein c projekt von mir einfügen.
das problem ist, ich weiss nicht wie ich die datenbanken ansteuern soll.
sprich es gibt ja nicht so was wie in php mysql_query("SQL-ANweisungen");
Also hat jemand nen text zum einlesen oder so was?
ps:
bei sqlite war ich schon fast so weit, da lässt sich ganz leicht ne dll runterladen die mir aber ohne .h-file nichts nutzt!
danke,
mollitz
-
Die Dokumentation zu SQLite mal gelesen ?
-
da gibts zig documentations, welche würdest du mir denn empfehlen.
kann mir jemand auch 2 3 sätze über odbc und api erzählen?
und noch was:
in qt is ja n sql treiber drinn. kann ich mit dem evtl. auf sowas zugreifen?
-
lass die ganze odbc sache weg, und mach es pur, wenn du sowieso c machst (ps, weiß jetzt nicht, was du machen willst..).
ein kleines beispiel
http://interactive.linuxjournal.com/articles/lj/0110/6650/6650l2.html
und auf der sqllite seite findest du die api beschrieben, wie knuddlbär schon sagt.
-
@elise
für des beispiel brauch ich ja die dll. oder?
ja gut. aber woher bekomm ich jetzt die sqlite.h.
hab jetzt im kompletten sourcecode ne h gefunden die heisst
sqlite3ext.h
und in der steht als kommentar:
** This header file defines the SQLite interface for use by
** shared libraries that want to be imported as extensions into
** an SQLite instance. Shared libraries that intend to be loaded
** as extensions by SQLite should #include this file instead of
** sqlite3.h.
des bedeutet ja, dass man des für die dll benutzen soll, oder?
also wenn ich jetzt die dll hab die sqlite3.h und die sqlite3ext.h.
und die main.c ( der beispiel code)
kommt trotzdem die fehlermeldung, dass
diese zeile
sqlite* p_db = sqlite_open("./db", 0777, 0);
falsch ist weil sqlite undeclared ist.
wenn ich jetzt den GANZEN quelltext zieh. ist da ne main datei dabei. wo tu ich dann meine main datei mit dem beispiel code hin?
danke
-
ich weiß nicht, welche sqlite version du fährst und auch nicht, welches betriebssystem und welchen compiler.
aber halt dich doch an das beispiel aus der dokumentation
http://www.sqlite.org/quickstart.htmlkrieg das zu laufen und dann weiter
ps: unter windows musst du eine db anlegen und die entsprechende library mitlinken.
die will natürlich auch gefunden sein.
-
eclipse cdt
win xp
neuste sqlite version.
nochmal zum mitschreiben:
mein problem ist es, das sqlite einzubinden: das ist im quickstart NICHT enthalten.
da steht lediglich ein c code der mir vllt. im nächsten stadium (nämlich in dem wo ich damit programmiere) was bringt.jemand schrieb: "
ps: unter windows musst du eine db anlegen und die entsprechende library mitlinken.
die will natürlich auch gefunden sein. "
aha mal was ganz neues vielen dank.
also eine db leg ich wie an? mit der shell exe? und die entsprechende library mitlinken? muss ich da des makefile verändern oder wie geht des in eclipse ?
-
eclipse cdt kenn ich nicht, aber ich würde das compiler faq lesen (da liegt ja ein gcc drunter, oder?)
und ja, in der dokumentation steht, wie man eine testdatenbank anlegen kann (folge den oberen link), damit man was zum spielen hat.
da gibt es mehrere möglichkeiten, wie ich in der doku sehe.