wie bitte? Das hat geholfen?
Weißt du, dass ich keine Ahnung von dem Thema habe und dir nur den ersten Link von google zum Thema "skip-networking" hier reinkopiert habe?
Nur mal so als Denkanstoß...
In der Unterabfrage wird nach Name gruppiert und die höchste Versionsnummer rausgepickt.
Somit ist die Unterabfrage wie eine Tabelle mit 2 Spalten (Name, und Version wobei es immer die höchste Versionsnummer ist). Jeder Name kommt also nur einmal vor.
Damit aber alle Spalten angezeigt werden, wird das ganze mit der Tabelle selbst verknüpft.
Hoffe es war einigermaßen verständlich...
Danke erstmal für deine schnelle Antwort aber es funktioniert immer noch
nicht...ich habe mir vom Visual Studio einen "DataSet" und einen "TableAdapter"
generieren lassen und der hat dann auch ganz tollen ADO.Net und Ole-Quatsch
ausgespuckt, ich weiß jetzt aber nich wie ich diesen letzten eintrag
bekomme...also es läuft auf folgendes Schema hinaus: Ich füge etwas zu einer
Tabelle hinzu ,über den TableAdapter, und füllen selbigen dann
wieder mithilfe des Datasets...
Hallo!
Ich will mal fragen, wo man gute Tutorials findet, um mit C++ auf MSSQL 2000 Datenbanken zuzugreifen. Am besten per ADO, hab da schon Erfahrungen mit Delphi gesammelt, dass ODBC da eher die schlechtere Wahl ist.
Leider konnte ich beim Googlen nichts finden, und die Forumssuche brachte auch keinen Erfolg.
Das einzigste, was ich so gefunden hab ist das:
http://www.alhem.net/sql_cpp_tutorial/tut_1.html
Sieht zwar ordendlich aus, aber leider ist da nur was von sqlite3 und mySQL die Rede und das ist doch etwas anderes als MS, oder?
Außerdem fehlt mir die libmysqlwrapped.h dazu...
Kennst da jemand etwas gutes, vlt sogar ein tut in Deutsch?
btw: Ich wollte dazu gutes altes Visual c++ 6.0 benutzen
Nanosekunden? Geht der Timestamp-Typ überhaupt runter bis Millisekunden? Datum zu Zahl könnte man so machen (nicht getestet) :
to_number(to_char(sysdate, 'DDMMYYYYHHmiSS'))
...bezweifel aber das dir das was bringt. Der Typ wird intern auch als Zahl behandelt soweit ich weiss. Komm aber momentan nicht drauf, wie man da ran kommt (wird auch sicher was anderes rauskommen als bei to_number( ... ))
Also so gehts wohl:
CDatabase db;
CDBSet cdb(&db);
cdb.Open(CRecordset::forwardOnly,_T( "SELECT * FROM ") + tabelle_4);
CString strCmd1 = "ALTER TABLE tabelle_4 ADD COLUMN MittAbw_45 int";
CString strCmd2 = "UPDATE tabelle_4 SET MittAbw_45 = 0";
db.ExecuteSQL(strCmd1);
db.ExecuteSQL(strCmd2);
cdb.Close();
db.Close();
Das cdb.Open hatte noch gefehlt!!!
Vielen dank vorerst für eure Hilfe !!!! BIG UP !!!
Slawo
Hallo,
in diesem Fall benötigst Du die Unterabfrage. In Deiner Lösung werden aus der Tabelle Verwarnungen alle Datensätze verwendet, deren Spieler-Id ungleich der Spieler-Id aus der Tabelle Spiel sind.
Je nach eingetragenen Daten, könnnte Dein Select zwar das richtige Ergebnis liefern, aber aus den falschen Gründen. Sobald Du die Daten zur Anzeige, aus mehr als einer Tabelle wählst, wirst Du feststellen, dass eine Vervielfältigung der Daten stattfindet: Der aktuell in Spiel ausgewählte Spieler wird so oft dargestellt, wie es Einträge in der Tabelle Verwarnungen gibt, bei denen die Spieler-Id unteschiedlich ist.
Wenn ich das so lese, hoffe ich, es findet sich jemand der es besser erklären kann...
Kleine Frage.
Was bedeutet die Bezeichnung MUL für eine Spalte.
Habe etwas gelesen von Unique Key.
Stimmt das? Wenn ja, bitte um genauere Erläuterungen.
Hallo zusammen,
ich habe da so meine Schwierigkeiten mit dem Handling von Datenbanken. Ich möchte in C++ (und der Qt Library) eine Anwendung realisieren. Da gibt es dann z.B. Mitglieder(daten) die ich in einer Datenbank speichern möchte.
Für mich gibt es nun zwei Ansätze, z.B. beim Anzeigen von Daten:
Entweder ich papp die Datenbank in Form eines SQL Queries direkt über ein Model (List)View (ich glaube das ist der MVC-Ansatz, oder?) oder ich überlasse es dem Objekt (oder einer Factory-Klasse), sich mit den Daten aus der DB zu initialisieren und bringe dem ListView bei, wie es diese Objekte darstellt.
Letzteres erscheint mir sauberer, weil ich dann - wenn ich plötzlich eine andere Datenhaltung verwenden will - nur dem Objekt die andere Datenhaltung beibringen muss und der GUI-Teil unangetastet bleibt.
Hmm, ich fürchte es ist nicht so einfach zu verstehen, was ich meine. Ich bin mir einfach nicht sicher, an welcher Stelle ich die Datenbank-Logik unterbringen soll. Ich dachte immer es ist besser ich arbeite in der ganzen Anwendung immer schön mit meinen Objekten (z.B. Mitglied) und nur das Objekt Mitglied weiß, wie es sich persistent macht. Aber dieser Model-View-Controller Ansatz aus Qt (und anderen Frameworks) bringt mich total durcheinander. Vielleicht habe ich diese MVC-Sache aber auch einfach noch nicht verstanden.
Könnt ihr mir da auf die Sprünge helfen?
Vielen Dank und Grüße
beedaddy
Ja hat es.
Erstens erstellst Du eine MDE aus der MDB (Extras->Datenbank-Dienstprogramme->MDE-Datei erstellen).
Außerdem kannst Du unter Extras->Start einstellen, welches Formular automatisch aufgeht, wenn die Anwendung gestartet wird.
Dabei kannst Du auch das Datenbankfenster etc. ausblenden
Du kannst auch die Spezialtasten etc. deaktivieren. Wenn Du alles richtig machst, dann kann man nicht mehr die MDB/MDE bearbeiten. Daher sicherstellen, dass Du das nur bei der MDE machst, denn die MDB willst Du ja evtl. noch weiterbearbeiten können.