Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Problem mit Sql Statement (https://www.delphipraxis.net/111495-problem-mit-sql-statement.html)

Borschti 4. Apr 2008 11:36


Problem mit Sql Statement
 
Hallo mal wieder ;)

Ich habe ein kleines Problem mit einem SQL Statement, und zwar will ich eine ganz simple Abfrage mit meiner Query machen die so in SQL aussehen würde:
SQL-Code:
SELECT * FROM art WHERE ArtNr = '10000'
Nun gibt es aber ein Problem mit den Hochkommas um die 10000, das wollte ich so lösen:
Delphi-Quellcode:
SQL.Add('SELECT ArtNr FROM art');
SQL.Add('WHERE (ArtNr = ' + QuotedStr(VddQuery1.Fieldbyname('ArtNr').asstring) + ')'); // Hier die Fehlermeldung!
Sql.Add('ORDER BY ArtNr');
Ich bekomme aber eine Fehlermeldung die besagt das das Feld ArtNr nicht gefunden wurde, Ich bin mir 100% sicher das das Feld in der Spalte ArtNr mit dem Inhalt 10000 existiert.

Woran kann das liegen?

mfg
Alex

mkinzler 4. Apr 2008 11:40

Re: Problem mit Sql Statement
 
Stimmt die Groß-/Klein-Schreibung des Feldes überein?

DP-Maintenance 4. Apr 2008 11:42

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Sonstige Fragen zu Delphi" nach "Datenbanken" verschoben.
Ist hier sicher besser aufgehoben.

Sharky 4. Apr 2008 11:46

Re: Problem mit Sql Statement
 
Hai Borschti,

wie sieht denn der SQL-Befehl von VddQuery1 aus?

Borschti 4. Apr 2008 11:48

Re: Problem mit Sql Statement
 
Ja, da bin Ich mir absolut sicher, groß A rt groß N r xD

Aldo alles zusammen siehts so im Code aus:
Delphi-Quellcode:
With VddQuery1 do
  begin
   Close;
   SQL.Clear;
   SQL.Add('SELECT ArtNr FROM art');
   SQL.Add('WHERE (ArtNr = ' + QuotedStr(VddQuery1.Fieldbyname('ArtNr').asstring) + ')');
   Sql.Add('ORDER BY ArtNr');
   Open;
  end;

5etH 4. Apr 2008 11:48

Re: Problem mit Sql Statement
 
warum benutzt du nicht standard elemente für die ADS datenbank

Sharky 4. Apr 2008 11:49

Re: Problem mit Sql Statement
 
Zitat:

Zitat von Borschti
Ja, da bin Ich mir absolut sicher, groß A rt groß N r xD

Aldo alles zusammen siehts so im Code aus:
Code:
With [b]VddQuery1[/b] do
  begin
   [b]Close;[/b]
   SQL.Clear;
   SQL.Add('SELECT ArtNr FROM art');
   SQL.Add('WHERE (ArtNr = ' + QuotedStr([b]VddQuery1[/b].Fieldbyname('ArtNr').asstring) + ')');
   Sql.Add('ORDER BY ArtNr');
   Open;
  end;

Du kannst doch nicht auf ein Feld des Querys zugreifen wenn des geschlossen ist.

Borschti 4. Apr 2008 12:10

Re: Problem mit Sql Statement
 
Ok ;) also habs jtz so,
Delphi-Quellcode:
SQL.Add('WHERE (ArtNr = ' + QuotedStr(Edit1.Text)+')');
Danke.

RavenIV 4. Apr 2008 12:15

Re: Problem mit Sql Statement
 
Entweder hast Du uns bei der Query etwas vorbehalten, oder die Query macht keinen Sinn.
Du lässt Dir die ArtNr geben, wo die ArtNr = <Nummer> ist.

Borschti 4. Apr 2008 14:16

Re: Problem mit Sql Statement
 
Naja das mit dem Editfeld war nur ein Zwischenschritt, Ich wollte es so machen das ausgewählt werden kann von welchem bis welchem Datensatz der Tabelle die Query gefüllt werden soll ;)

Also es sieht jetzt so aus:
Delphi-Quellcode:
SQLSmt := 'WHERE (ArtNr >= ' + QuotedStr(Edit1.Text)+ 'AND ArtNr <= '+QuotedStr(Edit2.Text)+')';


 With VddQuery1 do
  begin
   Close;
   SQL.Clear;
   SQL.Add('SELECT * FROM art');
   SQL.Add(SQLSmt);
   Sql.Add('ORDER BY ArtNr');
   Open;
  end;
Danke für die Hilfe, aber das mit
Delphi-Quellcode:
SQL.Add('WHERE (ArtNr = ' + QuotedStr(VddQuery1.Fieldbyname('ArtNr').asstring) + ')');
war wirklich unbedacht, hatte es einfach aus einem Beispielprogramm rauskopiert und mich dann drin verbissen :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 Uhr.
Seite 1 von 2  1 2      

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