🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #347000

Re: Pomysł a funkcjonalność - prośba o poradę

#347000
From: zpksoft
Date: Wed, 15 May 2019 11:04
52 lines
2949 bytes
W dniu środa, 15 maja 2019 10:27:14 UTC+2 użytkownik lordbz napisał:
> > U mnie przeważnie zapytania sql są tworzone dynamicznie (..)
> > 
> > Paweł
> 
> Może jakiś mały konkretny przykład ....
> poproszę ?
> 
> Przemek

No dobra, kawałek kodu (piszę z głowy):

var par: array of variant;
sql: string;
where: string;
i: integer;
begin
  sql:='select * from tabelka ';
  where:='';
  if cbDat.Checked then begin
    setLength(par, high(par)+2);
    par[high(par)]:=eDat.Value;
    where:=' where dat>:dat ';
  end; 
  if cbMat.Checked then begin
    setLength(par, high(par)+2);
    par[high(par)]:=eMat.Value;
    if where='' then where:=' where mat=:mat '
    else where:=where+' and mat=:mat ';
  end; 
  if cbPat.Checked then begin
    setLength(par, high(par)+2);
    par[high(par)]:=ePat.Value;
    if where='' then where:=' where pat containing :pat '
    else where:=where+' and pat containing :pat ';
  end; 
  sql:=sql+where;
  
  query.sql:=sql;
  query.prepare; //inicjacja parametrów (ale nie ich typów!)
  
  for i:=0 to high(par) do
  begin
    query.params[i].value=par[i];  
  end;  
  
  //tu: ew. transakcja...
  query.open; //dla select
end;


Paweł
Technical Details
Message-ID: <de026013-f26c-43e7-8603-cbc4426398cf@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.eu.feeder.erje.net!feeds.phibee-telecom.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!i64no113844iti.0!news-out.google.com!l135ni119itc.0!nntp.google.com!u76no113832ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <f1d5f52e-7035-41ad-a7bb-b78126030630@googlegroups.com> <002449dc-a011-4ede-9274-800249fd0699@googlegroups.com> <5cdb42f1$0$531$65785112@news.neostrada.pl> <0fd326ca-4ef2-402a-81a3-09d36f322b9d@googlegroups.com> <6dcd275e-3f6b-45db-9100-8cfbb31aa6a2@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a6b:e804:: with SMTP id f4mr24005774ioh.91.1557918270717;        Wed, 15 May 2019 04:04:30 -0700 (PDT)
X-Received: by 2002:aca:7541:: with SMTP id q62mr6717156oic.22.1557918270368; Wed, 15 May 2019 04:04:30 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.eu.feeder.erje.net!feeds.phibee-telecom.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!i64no113844iti.0!news-out.google.com!l135ni119itc.0!nntp.google.com!u76no113832ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.delphi
Date: Wed, 15 May 2019 04:04:30 -0700 (PDT)
In-Reply-To: <6dcd275e-3f6b-45db-9100-8cfbb31aa6a2@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=83.22.194.139; posting-account=8ND_mgoAAAD5J9y9fnaTB1Kcu7xKWk7Q
NNTP-Posting-Host: 83.22.194.139
References: <f1d5f52e-7035-41ad-a7bb-b78126030630@googlegroups.com> <002449dc-a011-4ede-9274-800249fd0699@googlegroups.com> <5cdb42f1$0$531$65785112@news.neostrada.pl> <0fd326ca-4ef2-402a-81a3-09d36f322b9d@googlegroups.com> <6dcd275e-3f6b-45db-9100-8cfbb31aa6a2@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <de026013-f26c-43e7-8603-cbc4426398cf@googlegroups.com>
Subject: Re: Pomysł a funkcjonalność -
 prośba o poradę
From: zpksoft <zpksoft@op.pl>
Injection-Date: Wed, 15 May 2019 11:04:30 +0000
Lines: 52
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit