[ medixsa @ 19.09.2008. 22:43 ] @
Pozdrav !!!

Delphi7,FireBird ,UIB, itd.....


Radim program za biblioteku imuci me mali problem oko izmjene stanja artikla tj.knjige


sa ovim kodom ne oduzimam mi tacno stavrnu vrijednost ,već npr. ako je artiklia 1 bilo 20 i artikl 2 bilo 10 i kada
ja zaduzim artikal 1 sa recimo 3 i artikla 2 sa 4 onda mi stanje pokaze artikla 1 = 13 a artikla 2 = 3 to znaci da bi sbraja
3 + 4 i oduzima svakom artikli po 7 ....


Zaista se izvinjavam ,sto nisam bolje naveop problem ili pak bolje razjasnio primjer


// Promjena stanja u artiklima - knjigama
try
with frmZaduzenje.UpitK do
begin
frmZaduzenje.UpitK.SQL.Clear;
frmZaduzenje.UpitK.SQL.Add('UPDATE Knjige SET Stanje= Stanje-'+frmZaduzenje.EKolicina.Text+'where SifraK='+frmZaduzenje.ESifraK.Text);
frmZaduzenje.UpitK.ExecSQL;
end;
except
MessageDlg('Update nije uspjelo, šifra ne postoji ili količina nije validna',mterror,[mbok],0);
end;
end;


Hvala svima na pomoci !!!!



[ franjo_tahi @ 20.09.2008. 00:19 ] @
1. Da li je SifraK string? Ako je korisi: QuotedStr(frmZaduzenje.ESifraK.Text)
2. Ako si točno kopirao SQL fali ti razmak prije where - 'where SifraK='+frmZaduzenje.ESifraK.Text); trebalo bi biti ' where...
3. Postavi breakpoint na linju: frmZaduzenje.UpitK.SQL.Add(... pa provjeri vrijdnosti varijabli: frmZaduzenje.EKolicina.Text i frmZaduzenje.ESifraK.Text
[ medixsa @ 20.09.2008. 19:21 ] @


SifraK je integer !


Kod mi opet ne funkcionise, nemogu da skontam sta je u pitanju ?




[ franjo_tahi @ 22.09.2008. 07:28 ] @
Odgoborio si na pitanje pod 1, što je s 2 i 3?

Postavi "break point" na red "frmZaduzenje.UpitK.ExecSQL;" pa pogleda koje su vrijednosti frmZaduzenje.EKolicina.Text, frmZaduzenje.ESifraK.Text i što je u frmZaduzenje.UpitK.SQL.Text;

Možda ti bude jasnije gdje je greška. Provjeri da ne pozivaš proceduru za update 2 puta....

Još nešto: ako imaš redak: "with frmZaduzenje.UpitK do" ne treba ti "frmZaduzenje.UpitK.SQL.Clear;" dovoljno je "SQL.Clear;" (mada ne utiče na rezultat)
[ medixsa @ 22.09.2008. 21:35 ] @
ok puno ti hvala na trudu rijesio sam problema.Problem je bio sto sam ranije pozivao proceduru clear komponente ESifraK prije nego sto je se procedura izvrsavala i sa njom SQL upit

Hvala ti jos jednom !!!