Hallo, folgende Problemstellung: 1x Server mit MYSQL Datenbank nun soll ein Client für Windows entwickelt werden der einfache Datenbankabfragen ausführt. Ein einfaches Konsolenprogramm genügt. Die Sprache sollte C oder C++ sein. Ich finde im Internet jedoch keine brauchbaren Informationen. Ich suche also ein Tutorial, Buch oder Beispielcode. Vielen Dank
Das hier ist vielleicht hilfreicher: ;) http://openbook.galileocomputing.de/c_von_a_bis_z/024_c_mysql_001.htm
>http://openbook.galileocomputing.de/c_von_a_bis_z/...
Habe ich mir angeschaut und gleich Fehler entdeckt. Z.B.
Datentyp: LONGTEXT,LONGBLOB
Speicherbedarf: Zeichenzahl+4 Byte
Erkärung: Zeichenkette mit variabler Länge bis max. 232 Zeichen
Das muss natuerlich 2^32 heissen.
So ist das mit den freien Produkten. Sie sind halt nicht fehlerfrei.
Und warum nicht einfach über ODBC gehen, es gibt doch für MySQL ein ODBC Treiber.
Warum sollte sie unbrauchbar sein? Man kann halt nur mysql damit ansprechen, ODBC hat durchaus ein sinnvolles Konzeot; Mit dem entsprechenden ODBC-Treiber (ODBC für mysql, oder ODBC für Ms-SQL...) richtet man eine Datenquelle in der Systemsteuerung ein und gibt dem Ding einfach einen Namen. Dein Programm würde dann nicht mehr zu wissen brauchen, ob die Daten aus mysql oder sonstwo herkommen, sondern einfach über den vergebenen Namen darauf zugreifen. Bei Bedarf kann man die Datenbank darunter austauschen, ohne die Programme zu ändern. Insofern wäre dein Programm portabel bzgl. des DB-Systems; dafür nicht portabel bzgl. Betriebssystem. Mit libmysql ist es auf mysql fixiert, dafür über die Betriebssysteme hinweg portabel (und natürlich etwas effizienter, weil die Zwischenschicht ODBC entfällt).
Klaus Wachtler schrieb: > Bei Bedarf kann man die Datenbank darunter austauschen, ohne > die Programme zu ändern. In der Theorie. In der Praxis funktioniert das aber meist aufgrund von subtilen oder weniger subtilen Unterschieden zwischen den verschiedenen SQL-Dialekten nur bei relativ einfach aufgebauten Datenbanken und Queries. Selbst z.B. bei MySQL ein (vordergründig einfacher) Wechsel zwischen MyISAM- und InnoDB-Tabellen bringt durchaus so seine versteckten Fallen mit sich... Andreas
Ich sprach ja auch nur vom Konzept (inzwischen auch gelegentlich Konzeot genannt).
Klaus Wachtler schrieb: > Insofern wäre dein Programm portabel bzgl. des DB-Systems; > dafür nicht portabel bzgl. Betriebssystem. > Mit libmysql ist es auf mysql fixiert, dafür über die > Betriebssysteme hinweg portabel (und natürlich etwas > effizienter, weil die Zwischenschicht ODBC entfällt). warum das denn, mein Programm läuft ohne Probleme mit ODBC unter Windows wie unter Linux. Und die Zwischenschicht ist sehr klein, bei den heutigen CPU merkt man davon nichts, auch bei mehre Tausenden Datensätzen.
ok, daß es ODBC auch unter Windows vernünftig gibt, wusste ich nicht. Meine letzte Begegnung mit ODBC ist 10 oder 15 Jahre her... Inzwischen hatte ich DBs nur direkt angesprochen.
Klaus Wachtler schrieb: > ok, daß es ODBC auch unter Windows vernünftig gibt, wusste ich nicht. hä? Linux hat doch erst später mit ODBC nachgezogen. Windows hat das ganze seit Win95.
Bloss nicht die proprietäre MySQL C Schnittstelle verwenden, damit bist du auf Gedeih und Verderb auf diese Datenbank festgenagelt. Man verwendet ODBC als herstellerunanabhängige Schnittstelle, da sind die Aufrufe standardisiert, ggf. unter Verwendung einer Zwischenschicht aus MFC, ADB, DotNET oder sonst einer Bibliothek, und entwickelt erst mal mit MySQL als Datenbank. Muss man dann eines Tages die Datenbank wechseln, macht man das einfach. Die Unterschiede der Datenbanken sind nicht so gross (manch eine hat manchmal merkwürdige Syntax).
Peter schrieb: > Klaus Wachtler schrieb: >> ok, daß es ODBC auch unter Windows vernünftig gibt, wusste ich nicht. > > hä? Linux hat doch erst später mit ODBC nachgezogen. Windows hat das > ganze seit Win95. sorry, ich meinte eigentlich: ... daß es ODBC auch unter Linux vernünftig gibt, wusste ich nicht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.