Poslao: 15 Jul 2010 11:56
|
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.
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.
|
|
Poslao: 15 Jul 2010 13:19
|
offline
- MSMarkoN
- Ugledni građanin
- Pridružio: 15 Maj 2006
- Poruke: 333
- Gde živiš: Babušnica
|
Verovatno upisuješ u bazu a ne u DBGrid
Postavi parče kôda da vidimo o čemu se radi.
|
|
|
|
Poslao: 15 Jul 2010 13:42
|
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.
|
|
|
|
Poslao: 15 Jul 2010 13:57
|
offline
- MSMarkoN
- Ugledni građanin
- 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
Ako ti već uspeva probaj
ADOQuery1.Refresh;
//ili
Dbgrid1.Refresh;
|
|
|
|
Poslao: 15 Jul 2010 14:09
|
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
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.
|
|
|
|
Poslao: 15 Jul 2010 14:18
|
offline
- MSMarkoN
- Ugledni građanin
- 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;
|
|
|
|
Poslao: 15 Jul 2010 14:41
|
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!
|
|
|
|