Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi InputQuery besser machen (https://www.delphipraxis.net/57732-inputquery-besser-machen.html)

robby3 25. Nov 2005 17:02

Datenbank: dBASE • Zugriff über: Table SQL

InputQuery besser machen
 
Hallo zusammen, kann man diese Code auch kürz, und schneller machen in SQL.
Für eure Hilfe wehre ich Dankbar :-D
Delphi-Quellcode:
stName:='';
 text_t:='Bitte Stücklistennummer eingeben';
if InputQuery(text_t,'',stName)then

query1.sql.clear;
query1.sql.add('select');
query1.sql.add('*from lager.dbf');
query1.sql.add('AS lager');
query1.sql.add('Where');
query1.sql.add('Znr='+Quotedstr(stName));
query1.sql.add(' order by Znr'); }
query.active:= true;
query.first;
 end;
:gruebel:

marabu 25. Nov 2005 17:20

Re: InputQuery besser machen
 
Hallo robby,

bei dir fehlt ein BEGIN hinter dem THEN. Der Aufruf von First() direkt nach dem Open() eines DataSet ist überflüssig. Dein Sortierkriterium sollte nicht gleich dem Selektions-Kriterium sein. Versuche sprechende Namen für deine Objekte und Variablen zu verwenden.

Delphi-Quellcode:
function IsValidZnr(s: string): boolean;
begin
  Result := TryStrToInt(s);
end;


const
  SEL = 'SELECT * FROM lager WHERE znr = :znr';

var
  sZNr: string;

begin
  sZNr := '';
  if InputQuery('Bitte Stücklistennummer eingeben', '', sZNr)
  and IsValid(sZNr) then
    with Query do
    begin
      SQL.Text := SEL;
      Params.ParamValues['znr'] := sZnr;
      Open;
    end;
  // ...
end;
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:51 Uhr.

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