Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Einen bestimmten Datenfeld in einer Datenbank auswählen? (https://www.delphipraxis.net/85740-einen-bestimmten-datenfeld-einer-datenbank-auswaehlen.html)

rainman51 4. Feb 2007 10:11


Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
Hallo,

wie kann man mit Hilfe eines editfeldes und einer if-bedingung ein bestimmtest datenfeld in einer datenbank finden und dann wenn man die Zeile gefunden hat den gesamten datenstatz löschen---

TOmega 4. Feb 2007 10:38

Re: Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
Hallo rainman51 !

Benutze die TQuery Komponente und baue deine Bedingung in einen SQL-Befehl ein, also etwa so:
Delphi-Quellcode:
Query1.SQL.Clear;
Query1.SQL.Add('SELECT * FROM "DeineDatenbank.DB" WHERE '+Edit.Text);
Query1.Open;
Im Edit steht nur deine Bedingung 'Feldname=Wert".
Du musst jetzt natürlich noch überprüfen, ob Query überhaupt Datensätze enthält oder vielleicht mehrere Datensätze Deine Bedingung erfüllen, dann musst Du deine Auswahl noch genauer machen.
Mit
Delphi-Quellcode:
Query1.Delete;
löschst Du dann den aktuell ausgewählten Datensatz. Ich hoffe, dass ist das was Du suchst.
Gruss TOmega

Jelly 4. Feb 2007 10:51

Re: Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
Ist das Feld, in dem du suchst UNIQUE ? Wenn nicht, werden unter Umständen mit TOmega's Lösung der falsche Datensatz gelöscht.

Um alle Datensätze zu löschen, die dem Suchkriterium entsprechen, brauchts kein Select und anschliessendes Löschen aus Delphi heraus, sondern ich würde direkt die SQL Syntax anpassen:

Delphi-Quellcode:
Query1.SQL.Clear;
Query1.SQL.Add('Delete FROM "DeineDatenbank.DB" WHERE Feldname = '+ QuotedStr(Edit.Text));
Query1.ExecSQL;
Merke auch, dass ich den Suchtext über die Funktion QuotedStr übergebe. Täte ich das nicht, gibts ne Fehlermeldung, wenn der Suchtext selbst Hochkommata ' enthalten

rainman51 4. Feb 2007 11:01

Re: Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
was bedeutetb das?

--->DeineDatenbank.DB
Ich denk mal ... meien db(Inventarverwaltung). --< was steht hinter dem punkt?

rainman51 4. Feb 2007 11:03

Re: Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
Also wenn z.b meine Suchabfrage nach der der Datensatz gelöscht werden soll imm er in der ersten Spalte steht....geht das damit auch>?

Jelly 4. Feb 2007 11:06

Re: Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
Zitat:

Zitat von rainman51
was bedeutetb das?

--->DeineDatenbank.DB

Datenbank ist in dem Kontext falsch. Gemeint ist der Tabellenname.

rainman51 4. Feb 2007 11:15

Re: Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
Zitat:

Zitat von Jelly
Zitat:

Zitat von rainman51
was bedeutetb das?

--->DeineDatenbank.DB

Datenbank ist in dem Kontext falsch. Gemeint ist der Tabellenname.

HEißt das also ....
Tabelle.Spalte?

Jelly 4. Feb 2007 11:18

Re: Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
Zitat:

Zitat von rainman51
HEißt das also ....
Tabelle.Spalte?

Nein, nur der Tabellenname. Eine Datenbanktabelle besitzt Spalten, über die Du im where-Teil des SQL Befehls zugreifen kannst.

Ich denk mal, ein bischen SQL Litteratur würde nichts schaden.

DP-Maintenance 4. Feb 2007 11:43

DP-Maintenance
 
Dieses Thema wurde von "Jelly" von "Programmieren allgemein" nach "Datenbanken" verschoben.

rainman51 4. Feb 2007 11:48

Re: Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
Adoqueryauswahl.SQL.Clear;
Adoqueryauswahl.SQL.Add('Delete FROM "Anlagegut" WHERE Anlagegut.Inventarnummer = '+
{1QuotedStr}(Editeingabe.text));

Adoqueryauswahl.Open;

so lautet jetzt mein Text.....es kommt aber unvollständige anweisung


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz