Mit Visual C++ Datensatz aus Tabelle entfernen/ersetzen
-
Hallo,
Ich habe nur ein paar Fragen bezüglich C++ und die Möglichkeiten über SQL-Statements
auf Datenbanken zuzugreifen.1.) Wie lautet der konkrete SQL Befehl in C++ dafür, einen Datensatz der Id nach zu löschen.
In C++ trägt die Variable "num" die zu löschende Id.
2.) Wie lautet der konkrete SQL Befehl in C++ dafür, einen Datensatz zu ersetzen?Ich hab es schon probiert mit:
sqlstat = "DELETE FROM meinetabelle WHERE Id = num";Allerdings löscht er da die ganze Tabelle und nicht nur den von num vorgegebenen Eintrag

Danke schon mal im Vorraus,
Marcel
-
Probier mal:
sqlstat = "DELETE FROM meinetabelle WHERE Id = " + num;[edit]
Hoppla, das wird nicht klappen, wenn num ein Integer oder double ist. Dann muss das erst noch in einen String gewandelt werden...http://www.c-plusplus.net/forum/viewtopic-var-t-is-39077.html
[/edit]
-
@1: DELETE FROM ist schon richtig, allerdings solltest du anstelle des 'num' den Inhalt der gleichnamigen Variablen angeben.
@2: UPDATE TABLE müsste der richtige Befehl sein.
-
Danke schonmal an der Stelle.
Jetzt habe ich beim löschen nur folgendes Probelm. Wenn ich z.B. eine Tabelle mit 3 Einträgen habe und den Eintrag: 2 lösche, so erhalte ich beim Anzeigen ein Leeres Feld an der Stelle wo normalerweise der zweite Eintrag stand.
Die Id's werden also mitgelöscht. Das bringt meine Routine ein wenig durcheinander, z.B. in Bezug auf die Begrenzung: if (num > 1) {nächstes element}.Gibt es eine Möglichkeit die Id's auch wieder "geradezubiegen"?
-
Margor3000 schrieb:
Gibt es eine Möglichkeit die Id's auch wieder "geradezubiegen"?
Klar, das musst du dann "von Hand" per Update machen.
Aber: Das widerspricht JEDER Definition von ID, die mir gerade einfällt.

Eine ID wird einmal vergeben und bleibt für immer so, sonst wäre sie zur Datensatzidentifikation absolut wertlos.
-
Hast du nun ein Problem mit der MFC oder mit Datenbanken?
-
Unix-Tom schrieb:
Hast du nun ein Problem mit der MFC oder mit Datenbanken?
Sieht für mich nach "beides" aus, lass ihn ruhig hier auch wenn es gerade ewas datenbanklastiger wird, evtl. lässt sich das ID Problem per Quellcode lösen
z.B. in Bezug auf die Begrenzung: if (num > 1) {nächstes element}.
und dann wäre er im DB Forum auch falsch.
-
Ich hab mein Problem schon selbst gelöst, bzw. von Hand geuppt

Danke