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 1207 korisnika na forumu :: 47 registrovanih, 9 sakrivenih i 1151 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: airsuba, ajo baba, amonsrb, aramis s, bagor10, bankulen, Bobrock1, bojcistv, ccoogg123, celik, darkangel, darkstar101, dekan.m, DonRumataEstorski, draganl, GandorCC, GORDI, kinez88, krkalon, kybonacci, Litostroton, LUDI, macak44, madza, MB120mm, Metanoja, mikrimaus, mkukoleca, naki011, nemkea71, nuke92, pacika, Panonsky, Parker, Romibrat, scimitar19, slonic_tonic, stankolich, tubular, vathra, virked, vobo, Webb, wolverined4, zixmix, zlaya011, 79693