[ Bojan Kopanja @ 08.08.2006. 16:47 ] @
Napravio sam jednu proceduru za sljanje SQL upita bazi koja mi ne radi bas kako bi trebalo. U stvari kada idem kriz proceduru sa F7 onda mi se izvrsi sve kako treba, a kada predjem preko procedure bez breakpointa onda mi se ne izvrsi...

Evo je procedura:

Code:
procedure IzvrsiSQL(SQLText, ConnStr: String; Param: array of String);
var Query: TADOQuery;
    i: Integer;
begin
  Query:= TADOQuery.Create(nil);
  try
    Query.ConnectionString:= ConnStr;
    Query.Close;
    Query.SQL.Clear;
    for i := 0 to 4 do
    begin
      if Param[i] <> '' then
      begin
        Query.Parameters.CreateParameter('P'+IntToStr(i+1), ftString, pdUnknown, 20, Param[i]);
      end;
    end;
    Query.SQL.Add(SQLText);
    Query.ExecSQL;
  finally
    Query.Free;
  end;
end;


Proceduri prosledim ovako parametre:

Code:
IzvrsiSQL('delete from BAZA where DATUM >= :P1 and DATUM <= :P2;', ADOConnection1.ConnectionString, Parametri);


U promenljivoj Parametri mi se nalaze unapred ucitani parametri.

Svaka pomoc je dobrodosla .
[ badam @ 08.08.2006. 17:26 ] @
Opet ja. Pokusaj ovako:

Code:

procedure IzvrsiSQL(SQLText, ConnStr: String; Param: array of String);
var Query: TADOQuery;
    i: Integer;
begin
  Query:= TADOQuery.Create(nil);
  try
    Query.ConnectionString:= ConnStr;
    Query.SQL.Text:=SQLText;
    if length(Param)<>Query.Parameters.Count then
      ShowMessage('Pogresan broj parametara!')
    else
    begin
      for i:=0 to Query.Parameters.Count-1 do
        Query.Parameters[i].Value:=Param[i];
      Query.ExecSQL
    end
  finally
    Query.Free;
  end;
end;

Kod mene radi.
Ne treba da kreiras parametre, da zatvaras query, a sql mozes dodati kao text.
Pozdrav
[ Bojan Kopanja @ 08.08.2006. 18:58 ] @
Cekaj malo... Zar ce on samo dodati parametre na osnovu SQL-a? Tako sam i probavao, samo sto mi nesto nije htelo raditi i zato sam onda i presao na dodavanje parametara pre svega pa tek onda da ucitavanje SQL.Text-a.

Probacu ovo, mada ne vidim neki poseban razlog ni da ono moje ne radi... U stvari radi ono, samo sto me zeza to sto sam vec napisao. Kao da se nekad izvrsi, a nekad ne .

Nista, probavam i ovu tvoju varijantu, pa javljam kako je proslo.