Datenbank: Datensatz Editieren, Löschen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Pelagio
Beiträge: 424
Registriert: 11.11.2004 17:52
Computerausstattung: AMD Ryzen 5 7600 6-Core Prozessor 3.80 GHz
16,0 GB Arbeitsspeicher
Windows 11 Pro Betriebssystem
Wohnort: Bremen

Datenbank: Datensatz Editieren, Löschen

Beitrag von Pelagio »

:lamer:
Hallo Leidensgenossen

Ich habe mich nach langerm zögern entschieden auch Datenbank Anendungen, die ich vorher mit VB programmiert hatte, mit PureBasic zu Programmieren und tatsächlich ich kann eine Axccess Datenbank auslesen und sogar neue Daten einfügen.
Allerdings habe ich noch nicht hereaus, wie ich einen Datensatz Löschen oder Ändern Kannl.
Wie ich dies ohne eine 'WHERE' Anweisung zustande bringe.
Ich habe eine Datenbank ohne Indizierungsfeld und so kann ich keine direkte Abfrage nach diesem Feld durchführen.
Meine Frage an euch:
Gibt es die Möglichkeit bei der UPDATE Abfrage die augendblickliche Zeile zu benutzen?
So Nicht:

Code: Alles auswählen

SQL.s = UPDATE Tabellenname SET Tabellenfeld = " + Tabellendaten "WHERE TabellenID= " + TabellenID der Zeile
DatabaseUpdate(SQL)
Sonder So:

Code: Alles auswählen

SQL.s = UPDATE Tabellenname SET Tabellenfeld = " + Tabellendaten + "???= Tabellenzeile"
DatabaseUpdate(SQL)
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Entweder eine Datenbank ist gut designt und hat einen Unique Key oder eben nicht. In letzterem Fall wüsste ich keine Möglichkeit gezielt eine Zeile anzusprechen.

Ein Unique Key kann übrigens auch aus mehreren Feldern bestehen. Einfaches Beispiel: Die Kombination aus Vorname, Nachname, Geburtsdatum.

Achja, indiziert ist wieder was anderes, was du meinst ist sicherlich identifizieren, also ein ID-Feld ;)
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
Clipper
Beiträge: 30
Registriert: 24.12.2004 06:47
Wohnort: NRW

Beitrag von Clipper »

Nein, in VB arbeitest Du mit Recordset Objekten die eine Verbindung zur Datenbank haben und durch deren Methoden ein Update
etc. erfolgt. In PB bist Du nach absetzen des SELECT-Statements von der Datenbank quasi losgelöst. Wenn Du mit SQL ein Update machen willst, mußt Du immer sagen was Du updaten willst. Ohne WHERE wird sonst die ganze Tabelle upgedatet (schreckliches Wort). Wenn Du keine eindeutige Datensatz-ID hast, kannst Du zwar mit z.B. ...WHERE name='Meier' AND vorname='Hans' updaten es gibt aber u.U. mehrere Hans Meiers. Deshalb ist es eigentlich zwingend erforderlich einen eindeutigen Datensatzkennzeichner einzuführen also idealerweise ein Autoincrementfeld.
Antworten