Delphi-PRAXiS
Seite 2 von 3     12 3      

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)

Jelly 4. Feb 2007 11:50

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

Zitat von rainman51
Adoqueryauswahl.SQL.Add('Delete FROM "Anlagegut" WHERE Anlagegut.Inventarnummer = '+
{1QuotedStr}(Editeingabe.text));

Das kriegst Du noch nicht einmal compiliert. Was sollen denn die geschweiften Klammern?

mkinzler 4. Feb 2007 11:53

Re: Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
Vielleicht solltest du doch mal Jelly's Tip mit dem Erlernen der Grundlagen mal ernstnehmen
http://www.dsdt.info/tutorials/?cat=6

TOmega 4. Feb 2007 11:56

Re: Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
Text in geschweiften Klammern ist ein Kommentar, QuotedStr ist eine Funktion.
So ist's richtig:

Delphi-Quellcode:
Adoqueryauswahl.SQL.Clear;
Adoqueryauswahl.SQL.Add('Delete * FROM "Anlagegut.db" WHERE Anlagegut.Inventarnummer = '+ 
QuotedStr(Editeingabe.text));
Adoqueryauswahl.Open;
Ausserdem hast Du den Stern hinter dem Delete vergessen, der bedeutet, dass Du alle Datenfelder sehen willst. Ansonsten stehen dort die selektierten Datenfeldbezeichnungen. Deine Datenbankdatei hat sicher auch eine Endung *.db für Paradox oder *.dbf für dBase.

mkinzler 4. Feb 2007 11:58

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

Deine Datenbankdatei hat sicher auch eine Endung *.db für Paradox oder *.dbf für dBase.
Diese kann (und sollte man imho) auch weglassen.

Jelly 4. Feb 2007 12:02

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

Zitat von TOmega
Ausserdem hast Du den Stern hinter dem Delete vergessen, der bedeutet, dass Du alle Datenfelder sehen willst. Ansonsten stehen dort die selektierten Datenfeldbezeichnungen. Deine Datenbankdatei hat sicher auch eine Endung *.db für Paradox oder *.dbf für dBase.

Vielleicht täte Dir das DB Tutorial das mkinzler vorgeschlagen hat, auch nicht schlecht :zwinker:
  • Delete braucht kein *.Du kannst nicht Spalten löschen, sondern nur Zeilen aus der Tabelle.
  • Die TQuery ist über Databasename mit der Datenbank verknüpft. Die Endung kannst du also weglassen. In der Datenbank (auch unter Paradox) werden, wie in jedem DBMS System auch, Tabellen erzeugt. Dass diese zufällig auf der Platte als getrennte Datei mit Endung .db abgelegt werden, ist Paradox spezifisch. Der interne Name der Datenbank ist aber der, der unter dem Create Table angegeben wurde
  • Ein Delete Befehl wird nicht mit Query1.Open ausgeführt, da er keine Ergenismenge zurückliefert. Stattdessen ist ein Query1.ExecSQL nötig.

rainman51 4. Feb 2007 12:21

Re: Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
Adoqueryauswahl.SQL.Clear;
Adoqueryauswahl.SQL.Add('Delete FROM "Inventarverwaltung" WHERE
--->datenbank

Anlagegut.Inventarnummer = '+
--->Tabelle -->spalte


QuotedStr(Editeingabe.text)); <---- Hier steht die Zahl drinn die in der spalte stehen soll(jede Zahl
kommt dabei nur einmal vor)
Adoqueryauswahl.ExecSQL;

es kommt aber immer unvollständuge anweisung ich weiß nicht was fehlt...

Jelly 4. Feb 2007 12:24

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

Zitat von rainman51
es kommt aber immer unvollständuge anweisung ich weiß nicht was fehlt...

Kannst Du nicht einfach mal genau den Code posten, den du nutzt anstatt immer nur irgendwelche Schnippsel mit Zeichen drin, die kein Compiler dieser Welt versteht.

mkinzler 4. Feb 2007 12:25

Re: Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
Zeig mal deinen orginalen Code, so kann man ja nicht erkennen, was du wirklich geschrieben hast.

rainman51 4. Feb 2007 12:26

Re: Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
procedure TFormloch.ButtondeletClick(Sender: TObject);
begin
 if (editeingabe.Text <> '') then begin
if MessageBox(0, 'Soll der Datensatz gelöscht werden?', 'Datensatzlöschen',MB_YESNO) = 6   then  begin

Adoqueryauswahl.SQL.Clear;
Adoqueryauswahl.SQL.Add('Delete FROM "Inventarverwaltung" WHERE Anlagegut.Inventarnummer = '+
QuotedStr(Editeingabe.text));
Adoqueryauswahl.ExecSQL;

showmessage('Ok');
               end
               else MessageBox(0, 'Datensatz ist noch vorhanden', 'Vorgang abgebrochen',MB_Ok)
   end
   else showmessage ('Bitte Inventarnummer eingeben!');

end;

end.
Unten ein Bild von dem Programm

[edit=Jelly]Delphi Tags bitt einpflegen. Mfg, Jelly[/edit]

mkinzler 4. Feb 2007 12:33

Re: Einen bestimmten Datenfeld in einer Datenbank auswählen?
 
1. Statt .Clear + .Add besser gleich .Text nehmen.
SQL-Code:
Delete FROM "Inventarverwaltung" WHERE Anlagegut.Inventarnummer
??
wie heißt die Tabelle nun? Ich vermute mal Anlagegut, dann muß es:
SQL-Code:
Delete FROM Anlagegut WHERE Inventarnummer= ...
heißen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 Uhr.
Seite 2 von 3     12 3      

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