BlueSkyDW Geschrieben 16. Oktober 2001 Teilen Geschrieben 16. Oktober 2001 Hallo zusammen... im Rahmen meiner Ausbildung will ich mich auch mit Datenbanken unter C++ vertraut machen. Wer kann mir hier helfen mit irgendwelchen Tipps, Links oder vielleicht sogar eigenen Datenbanken, um zu schauen, wie so etwas eingebunden wird? Bitte helft mir, warum helfe ich immer anderen, nur mir niemand? :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Magoo Geschrieben 16. Oktober 2001 Teilen Geschrieben 16. Oktober 2001 Hi! Also, wenn du z.B. mit dem Borland C++ Builder Datenbankanwendungen erstellen willst, ist das ganz einfach. Da sind schon vorgefertigte Schnittstellen (ADO) drin. Ansonsten gibt es meistens bei der entsprechenden Datenbank einen Prä-Compiler. Den muss man dann vor dem eigentlichen Compiler über den Quelltext laufen lassen, damit der die SQL-Abfragen in "normalen" C-Code umwandlelt und erst dann kann man diesen übersetzten. Also. Sag einfach mal bescheid, mit welchem Compiler/Tool du arbeiten willst. Dann kann ich auf jeden Fall mehr sagen! CU Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BlueSkyDW Geschrieben 16. Oktober 2001 Autor Teilen Geschrieben 16. Oktober 2001 Tjas, da gibt es ein kleines Problem. Auf meinem Rechner in der Firma arbeite ich mit Borland C++ Builder 5.0. Da ich aber eher mal so abends auf die Schnelle programmiere, habe ich auf meinem Laptop Microsoft Visual Studio 6.0 Professional installiert und nutze so eigentlich eher das entsprechende Prog von Microsoft... Also...? Hast Du eventuell eine Datenbank schon einmal selber programmiert und kannst mir den Quelltext mal zur Verfügung stellen? :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Magoo Geschrieben 17. Oktober 2001 Teilen Geschrieben 17. Oktober 2001 Also mit Microsofts Visual Studio habe ich noch garnichts gemacht. Aber ist es nicht so, das man damit auch die Komponenten zusammenklicken kann? Oder verwechsel ich da jetzt was? Wenn das der Fall ist, dann such doch einfach mal nach ADO-Komponenten oder so ähnlich. Ansonsten wird es schon etwas härter. Aber nicht unmöglich, denke ich ! CU Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BlueSkyDW Geschrieben 17. Oktober 2001 Autor Teilen Geschrieben 17. Oktober 2001 Danke, ich werd mich mal umschauen. Wenn ich noch mal eine Frage bezüglich der Datenbank habe, wende ich mich direkt an Dich... Greetings... :eek: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
wawa Geschrieben 18. Oktober 2001 Teilen Geschrieben 18. Oktober 2001 also beim msvc++ kannste nix "zusammenklicken" ... naja egal.. also datenbank am beispiel eines adressprogramms: (nicht getestet!!) #include <iostream> #include <fstream> using namespace std; class adressen // klasse definieren, bsp "adressen" { public: void lesen(daten*); // um von einer datei datensätze auszulesen void schreiben(daten*); // um in eine datei datensätze zu schreiben void ausgabe(nr); // zum ausgeben der datensätze void eingabe(nr); // zum eingeben der datensätze private: char name[256][256]; // 2d-charfelder für variablenund datensatznummer als index char tel[256][256]; // ... char ort[256][256]; // ... }; void adressen::lesen() // funktion zum lesen aus der datei { ifstream fin("Adressen.dat", ios::binary); // fin wird zum öffnen von "adressen.dat" deklariert .. das ganze binär! if(!fin) // falls ein fehler auftritt, oder die datei nicht vorhanden ist..etc cout<<"Fehler bei dateizugriff!!"; else { fin.read((char*)daten,sizeof *daten); // dateiinhalt wird ausgelesen. fin.close(); // datei wird geschlossen. } } void adressen::schreiben() // funktion zum schreiben in eine datei { ofstream fout("Adressen.dat", ios::binary); // fout wird zum schreiben von "adressen.dat" deklariert .. das ganze binär! if(!fin) // falls ein fehler auftritt, die datei nicht vorhanden ist..etc cout<<"Fehler bei dateizugriff!!"; else { fout.write((char*)daten,sizeof *daten); // komplette datensätze werden in datei geschrieben. fout.close(); // datei wird geschlossen. } } void adressen::ausgabe() // funktion zum ausgeben von datensätzen { cout<<"name: "<<name[nr]<<endl; // der name der datensatznummer wird ausgegeben. cout<<"wohnort: "<<ort[nr]<<endl; // der ort ausgegeben. cout<<"telefonnummer: "<<tel[nr]<<endl; // die tel.nummer wird ausgegeben. } void adressen::eingabe() // funktion zum eingeben von datensätzen { // eingabe kram.. is denke ich mal alles klar...... cout<<"name eingeben: "; cin.ignore(1,'\n'); cin.getline(name[nr], 256,'\n'); cout<<"wohnort eingeben: "; cin.getline(ort[nr], 256,'\n'); cout<<"telefonnummer eingeben: "; cin.getline(tel[nr], 256,'\n'); } class adressen daten; void main() { int menu, nr = 0; // menu zur auswahl, nr = datensatznummer. do // solange bis 0 eingegeben wird (oder ein buchstabe.. lol) { cout<<"1 - datensatz eingeben.\n"; cout<<"2 - datensatz ausgeben.\n"; cout<<"3 - datensatz in datei speichern.\n"; cout<<"4 - datensatz aus datei laden.\n"; cout<<"0 - ende.\n"; cin>>menu; switch(menu) { case 1: cout<<"datensatznummer eingeben(1 - 100): "; cin>>nr; daten.eingabe(nr-1); // funktion eingabe wird die datensatznummer übergeben break; case 2: cout<<"datensatznummer eingeben(1 - 100): "; cin>>nr; daten.ausgabe(nr-1); // funktion ausgabe wird die datensatznummer übergeben break; case 3: cout<<"\ndatensatz wird gespeichert\n"; daten.speichern(*daten); // funktion speichern wird der komplette datensatz übergeben cout<<"\ndatensatz ist gespeichert\n"; break; case 4: cout<<"\ndatei wird geöffnet\n"; daten.lesen(*daten); // funktion lesen wird übergeben. kann probleme geben... habe aber keine lust mehr.. morgen vielleicht cout<<"\nsie können nun mit auswahl 2 ihre daten abrufen!\n"; break; case 0: break; default: cout<<"\nfalsche eingabe!\n"; } }while(menu != 0); } // dat wars [/code] und schon haste eine kleine datenbank in c++ ;-) wie gesagt, ich habe es nicht getestet... aber so der ansatz dürfte klar sein denke ich. bye ps: schafft euch mal einen [i]syntax-highlightning-ubb[/i] an Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 18. Oktober 2001 Teilen Geschrieben 18. Oktober 2001 ADO (ja die mit der Goldkante) gibts bei M$ genauso, nämlich als COM-Wrapper der OLE DB. Über ODBC läuft dann das ganze unter dem Namen RDO. Wichtig ist halt, daß im System-DSN (für alle Benutzer) oder Benutzer-DSN (für die entsprechende Anmeldung) die ODBC-Datenquelle richtig vordefiniert ist, dann geht ein Zugriff auf die Elemente recht unkompliziert vor sich -> siehe MSDN. Ein guter Buchtip für Win-Themen aller Art ist von Microsoft Press das "Microsoft Visual C++ 6 Programmierhandbuch" welches nämlich den Idealweg zu den gewünschten Lösungen mit allen Stolperfallen aufzeigt! <FONT COLOR="#a62a2a" SIZE="1">[ 18. Oktober 2001 22:11: Beitrag 1 mal editiert, zuletzt von Crush ]</font> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Magoo Geschrieben 19. Oktober 2001 Teilen Geschrieben 19. Oktober 2001 @ Jamer Ich glaube nicht, das BlueSkyDW auf eine selbstgeschriebende Datei-Datenbank zugreifen möchte. So wie ich das verstanden habe, möchte er viel lieber auf eine MySQL oder Access Datenbank zugreifen. Und das ist dann (leider) doch wieder gaanz anders zu lösen. Aber die Idee an sich ist natürlich nicht falsch !!! @ Crush Cool. Das wusste ich auch noch nicht. Jetzt habe ich auch wieder was dazu gelernt... Man merkt es doch immer wieder, das es sich lohnt, hier ab und zu mal nur zum lesen und antworten vorbeizuschauen... @ BlueSkyDW Ist dein Problem mitlerweile gelöst? Wenn ja, dann sage doch mal bitte, wie du es gemacht hat. Würde mich (und vielleicht auch noch ein paar andere) interessieren. CU Magoo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.