Problem sa AdoQuery

Problem sa AdoQuery

offline
  • Brx89 
  • Novi MyCity građanin
  • Pridružio: 06 Maj 2009
  • Poruke: 10

Evo, ovako...

Napravio sam neki programcic, koji kada korisnik izabere operaciju(+,-,*,/), on izracunava sumu 2 kolone (prethodno se izvrsi zeljena operacija) i ubacuje u DBGrid. E sad, kada startujem aplikaciju, i izvrsim operaciju, on odradi kako treba i prikaze rezultat. Problem nastaje kada zelim da izaberem neku drugu operaciju, pa se u DBGridu polje prikaze prazno.
Pa, moram da izlazim iz aplikacije, pa ponovo da je startujem i da izaberem tu operaciju i tek tada se prikaze rezultat. Confused

Pretrazivao sam na google-u u nadi da cu naici na pravo resenje, sad, ako mozete da pomognete bio bih vam zahvalan.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

Verovatno upisuješ u bazu a ne u DBGrid Confused
Postavi parče kôda da vidimo o čemu se radi.



offline
  • Brx89 
  • Novi MyCity građanin
  • Pridružio: 06 Maj 2009
  • Poruke: 10

Evo:

procedure TForm1.Button1Click(Sender: TObject);
begin

ADOQuery1.Close;

if(ComboBox1.Text = '+')then
begin
ADOQuery1.Parameters.ParamByName('Datum1').Value:=MaskEdit1.Text;
ADOQuery1.Parameters.ParamByName('Datum2').Value:=MaskEdit2.Text;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:=('select SUM('+ ComboBox2.Text + '+' + ComboBox3.Text + ' ) AS SUMA from '+ComboBox4.Text + ' WHERE DATUM>=:Datum1 AND DATUM<=:Datum2' );
ADOQuery1.ExecSQL;
ADOQuery1.open;

Exit;

end;

Pa, onda ide slicno samo za minus, gde je +, stavio -, tako i za * i /.
Tj. promenio sam samo operacije, kako u ifu tako i u sql-u.
I da, samo da napomenem, povezao sam DBGrid sa DataSource1, koji je povezan sa ADOQuery1.

offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

Kako uspevaš select naredbom da upišeš u bazu? Možda i može, nisam probao Very Happy
Ako ti već uspeva probaj

ADOQuery1.Refresh; //ili Dbgrid1.Refresh;

offline
  • Brx89 
  • Novi MyCity građanin
  • Pridružio: 06 Maj 2009
  • Poruke: 10

MSMarkoN ::Kako uspevaš select naredbom da upišeš u bazu? Možda i može, nisam probao Very Happy
Ako ti već uspeva probaj

ADOQuery1.Refresh; //ili Dbgrid1.Refresh;


Ne upisujem nista u bazu, nego samo izvlacim jedan podatak(sumu) pomocu SQL-a.
Probao sam ovo tvoje, ali ne pije vodu.

offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

Što odmah nisi rekao. Koliko sam razumeo iz prvog posta ti ubacuješ/upisuješ u DBGrid.
Ubaci neku promenljvu, recimo tipa string i probaj sledeće:

//...ADOQuery1.open; neka_promenljiva := ADOQuery1.Fields[0].AsString; //ili neka_promenljiva := ADOQuery1.FieldByName('SUMA').AsString;

offline
  • Brx89 
  • Novi MyCity građanin
  • Pridružio: 06 Maj 2009
  • Poruke: 10

Resio sam problem.

Caka je bila ta da je kod za parametre datuma, bio na pogresnom mestu, trebalo je da bude ispod onog dela gde je naredba SQL-a(ono ADOQuery1.SQL.Text).

Molim od admina LOCK ovaj topic!

Ko je trenutno na forumu
 

Ukupno su 875 korisnika na forumu :: 6 registrovanih, 2 sakrivenih i 867 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Bickoooo, Denaya, esx66, FileFinder, Koridor, lcc