Sta nije u redu sa ovim upitom?
02.09.2006. u 10:46 · pre 245 meseci
#1
Imam jedan upit za koji mi nikako nije jasno zasto ne radi... Radi se o obicnom INSERT INTO upitu. Evo pogledajte pa recite ako neko zna
:
a kada ovako ispisem isti taj kod onda sve radi kako treba i to sa istim podacima:
E sad meni nije jasno zasto ova prva varijanta ne radi, a ova druga radi bez problema... Mislim nije mi problem ni ovo drugo da koristim, ali me nervira posto mi usporava rad jer radi Open baze sto dodatno usporava umesto da samo Insertuje podatke u nju...
Hvala unapred!
P.S. Zaboravih da napomenem da se ovaj kod izvrsava kroz for petlju ( odatle onaj [ i ]
) koja ide po TListView komponenti od 0 do ListView1.Items.Count - 1 i kod puca vec u prvom prolazu, tako da 100% nije do nepravilnih podataka u ListView-u...
Code:
try
with adoqUlaz do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO ULAZ(SIFRA, B_PRIJEMA, MAGACIN, B_DOST, S_DOB, KOL, N_CENA, P_CENA, M_CENA, D_PRIJ, R_BROJ, J_ZAV_TR, J_OS_TR, J_RAB_D, J_MAR_D, T_POR, S_PORE, J_POR, PL_POR_R, TR_PAK, VRS_DOK, VALUTA, R+M, J_MERE, NAZIV)');
SQL.Add('VALUES(:SIFRA, :B_PRIJEMA, :MAGACIN, :B_DOST, :S_DOB, :KOL, :N_CENA, :P_CENA, :M_CENA, :D_PRIJ, :R_BROJ, :J_ZAV_TR, :J_OS_TR, :J_RAB_D, :J_MAR_D, :T_POR, :S_PORE, :J_POR, :PL_POR_R, :TR_PAK, :VRS_DOK, :VALUTA, :R+M, :J_MERE, :NAZIV)');
Parameters.ParamByName('SIFRA').Value:= ListView1.Items[I].SubItems[0];
Parameters.ParamByName('B_PRIJEMA').Value:= Edit2.Text;
Parameters.ParamByName('MAGACIN').Value:= Edit1.Text;
Parameters.ParamByName('B_DOST').Value:= Edit3.Text;
Parameters.ParamByName('S_DOB').Value:= IntToStr(SifraPartnera);
Parameters.ParamByName('KOL').Value:= ListView1.Items[I].SubItems[3];
Parameters.ParamByName('N_CENA').Value:= ListView1.Items[I].SubItems[4];
Parameters.ParamByName('P_CENA').Value:= ListView1.Items[I].SubItems[5];
Parameters.ParamByName('M_CENA').Value:= ListView1.Items[I].SubItems[7];
Parameters.ParamByName('D_PRIJ').Value:= DateToStr(StrToDate(Edit4.Text));
Parameters.ParamByName('R_BROJ').Value:= IntToStr(I + 1);
Parameters.ParamByName('J_ZAV_TR').Value:= ListView1.Items[I].SubItems[8];
Parameters.ParamByName('J_OS_TR').Value:= ListView1.Items[I].SubItems[9];
Parameters.ParamByName('J_RAB_D').Value:= ListView1.Items[I].SubItems[10];
Parameters.ParamByName('J_MAR_D').Value:= ListView1.Items[I].SubItems[11];
Parameters.ParamByName('T_POR').Value:= ListView1.Items[I].SubItems[12];
Parameters.ParamByName('S_PORE').Value:= ListView1.Items[I].SubItems[13];
Parameters.ParamByName('J_POR').Value:= ListView1.Items[I].SubItems[14];
Parameters.ParamByName('PL_POR_R').Value:= ListView1.Items[I].SubItems[15];
Parameters.ParamByName('TR_PAK').Value:= ListView1.Items[I].SubItems[16];
Parameters.ParamByName('VRS_DOK').Value:= ListView1.Items[I].SubItems[17];
Parameters.ParamByName('VALUTA').Value:= ListView1.Items[I].SubItems[18];
Parameters.ParamByName('R+M').Value:= ListView1.Items[I].SubItems[6];
Parameters.ParamByName('J_MERE').Value:= ListView1.Items[I].SubItems[2];
Parameters.ParamByName('NAZIV').Value:= ListView1.Items[I].SubItems[1];
ExecSQL;
end;
except
ShowMessage('Poruka o gresci');
end;
try
with adoqUlaz do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO ULAZ(SIFRA, B_PRIJEMA, MAGACIN, B_DOST, S_DOB, KOL, N_CENA, P_CENA, M_CENA, D_PRIJ, R_BROJ, J_ZAV_TR, J_OS_TR, J_RAB_D, J_MAR_D, T_POR, S_PORE, J_POR, PL_POR_R, TR_PAK, VRS_DOK, VALUTA, R+M, J_MERE, NAZIV)');
SQL.Add('VALUES(:SIFRA, :B_PRIJEMA, :MAGACIN, :B_DOST, :S_DOB, :KOL, :N_CENA, :P_CENA, :M_CENA, :D_PRIJ, :R_BROJ, :J_ZAV_TR, :J_OS_TR, :J_RAB_D, :J_MAR_D, :T_POR, :S_PORE, :J_POR, :PL_POR_R, :TR_PAK, :VRS_DOK, :VALUTA, :R+M, :J_MERE, :NAZIV)');
Parameters.ParamByName('SIFRA').Value:= ListView1.Items[I].SubItems[0];
Parameters.ParamByName('B_PRIJEMA').Value:= Edit2.Text;
Parameters.ParamByName('MAGACIN').Value:= Edit1.Text;
Parameters.ParamByName('B_DOST').Value:= Edit3.Text;
Parameters.ParamByName('S_DOB').Value:= IntToStr(SifraPartnera);
Parameters.ParamByName('KOL').Value:= ListView1.Items[I].SubItems[3];
Parameters.ParamByName('N_CENA').Value:= ListView1.Items[I].SubItems[4];
Parameters.ParamByName('P_CENA').Value:= ListView1.Items[I].SubItems[5];
Parameters.ParamByName('M_CENA').Value:= ListView1.Items[I].SubItems[7];
Parameters.ParamByName('D_PRIJ').Value:= DateToStr(StrToDate(Edit4.Text));
Parameters.ParamByName('R_BROJ').Value:= IntToStr(I + 1);
Parameters.ParamByName('J_ZAV_TR').Value:= ListView1.Items[I].SubItems[8];
Parameters.ParamByName('J_OS_TR').Value:= ListView1.Items[I].SubItems[9];
Parameters.ParamByName('J_RAB_D').Value:= ListView1.Items[I].SubItems[10];
Parameters.ParamByName('J_MAR_D').Value:= ListView1.Items[I].SubItems[11];
Parameters.ParamByName('T_POR').Value:= ListView1.Items[I].SubItems[12];
Parameters.ParamByName('S_PORE').Value:= ListView1.Items[I].SubItems[13];
Parameters.ParamByName('J_POR').Value:= ListView1.Items[I].SubItems[14];
Parameters.ParamByName('PL_POR_R').Value:= ListView1.Items[I].SubItems[15];
Parameters.ParamByName('TR_PAK').Value:= ListView1.Items[I].SubItems[16];
Parameters.ParamByName('VRS_DOK').Value:= ListView1.Items[I].SubItems[17];
Parameters.ParamByName('VALUTA').Value:= ListView1.Items[I].SubItems[18];
Parameters.ParamByName('R+M').Value:= ListView1.Items[I].SubItems[6];
Parameters.ParamByName('J_MERE').Value:= ListView1.Items[I].SubItems[2];
Parameters.ParamByName('NAZIV').Value:= ListView1.Items[I].SubItems[1];
ExecSQL;
end;
except
ShowMessage('Poruka o gresci');
end;
a kada ovako ispisem isti taj kod onda sve radi kako treba i to sa istim podacima:
Code:
try
with adoqUlaz do
begin
Close;
SQL.Clear;
SQL.Add('select * from ULAZ where MAGACIN = '+QuotedStr(Edit1.Text)+' and B_PRIJEMA = '+Edit2.Text+' and VRS_DOK = '+QuotedStr(VrstaDokumenta)+';');
Open;
Insert;
FieldByName('SIFRA').Value:= ListView1.Items[i].SubItems[0];
FieldByName('B_PRIJEMA').Value:= Edit2.Text;
FieldByName('MAGACIN').Value:= Edit1.Text;
FieldByName('B_DOST').Value:= Edit3.Text;
FieldByName('S_DOB').Value:= SifraPartnera;
FieldByName('KOL').Value:= ListView1.Items[i].SubItems[3];
FieldByName('N_CENA').Value:= ListView1.Items[i].SubItems[4];
FieldByName('P_CENA').Value:= ListView1.Items[i].SubItems[5];
FieldByName('M_CENA').Value:= ListView1.Items[i].SubItems[7];
FieldByName('D_PRIJ').Value:= Edit4.Text;
FieldByName('R_BROJ').Value:= I + 1;
FieldByName('J_ZAV_TR').Value:= ListView1.Items[i].SubItems[8];
FieldByName('J_OS_TR').Value:= ListView1.Items[i].SubItems[9];
FieldByName('J_RAB_D').Value:= ListView1.Items[i].SubItems[10];
FieldByName('J_MAR_D').Value:= ListView1.Items[i].SubItems[11];
FieldByName('T_POR').Value:= ListView1.Items[i].SubItems[12];
FieldByName('S_PORE').Value:= ListView1.Items[i].SubItems[13];
FieldByName('J_POR').Value:= ListView1.Items[i].SubItems[14];
FieldByName('PL_POR_R').Value:= ListView1.Items[i].SubItems[15];
FieldByName('TR_PAK').Value:= ListView1.Items[i].SubItems[16];
FieldByName('VRS_DOK').Value:= VrstaDokumenta;
FieldByName('J_MERE').Value:= ListView1.Items[i].SubItems[2];
FieldByName('NAZIV').Value:= ListView1.Items[i].SubItems[1];
FieldByName('VALUTA').Value:= ListView1.Items[i].SubItems[18];
FieldByName('R+M').Value:= ListView1.Items[i].SubItems[6];
Post;
end;
except
ShowMessage('Poruka o gresci');
end;
try
with adoqUlaz do
begin
Close;
SQL.Clear;
SQL.Add('select * from ULAZ where MAGACIN = '+QuotedStr(Edit1.Text)+' and B_PRIJEMA = '+Edit2.Text+' and VRS_DOK = '+QuotedStr(VrstaDokumenta)+';');
Open;
Insert;
FieldByName('SIFRA').Value:= ListView1.Items[i].SubItems[0];
FieldByName('B_PRIJEMA').Value:= Edit2.Text;
FieldByName('MAGACIN').Value:= Edit1.Text;
FieldByName('B_DOST').Value:= Edit3.Text;
FieldByName('S_DOB').Value:= SifraPartnera;
FieldByName('KOL').Value:= ListView1.Items[i].SubItems[3];
FieldByName('N_CENA').Value:= ListView1.Items[i].SubItems[4];
FieldByName('P_CENA').Value:= ListView1.Items[i].SubItems[5];
FieldByName('M_CENA').Value:= ListView1.Items[i].SubItems[7];
FieldByName('D_PRIJ').Value:= Edit4.Text;
FieldByName('R_BROJ').Value:= I + 1;
FieldByName('J_ZAV_TR').Value:= ListView1.Items[i].SubItems[8];
FieldByName('J_OS_TR').Value:= ListView1.Items[i].SubItems[9];
FieldByName('J_RAB_D').Value:= ListView1.Items[i].SubItems[10];
FieldByName('J_MAR_D').Value:= ListView1.Items[i].SubItems[11];
FieldByName('T_POR').Value:= ListView1.Items[i].SubItems[12];
FieldByName('S_PORE').Value:= ListView1.Items[i].SubItems[13];
FieldByName('J_POR').Value:= ListView1.Items[i].SubItems[14];
FieldByName('PL_POR_R').Value:= ListView1.Items[i].SubItems[15];
FieldByName('TR_PAK').Value:= ListView1.Items[i].SubItems[16];
FieldByName('VRS_DOK').Value:= VrstaDokumenta;
FieldByName('J_MERE').Value:= ListView1.Items[i].SubItems[2];
FieldByName('NAZIV').Value:= ListView1.Items[i].SubItems[1];
FieldByName('VALUTA').Value:= ListView1.Items[i].SubItems[18];
FieldByName('R+M').Value:= ListView1.Items[i].SubItems[6];
Post;
end;
except
ShowMessage('Poruka o gresci');
end;
E sad meni nije jasno zasto ova prva varijanta ne radi, a ova druga radi bez problema... Mislim nije mi problem ni ovo drugo da koristim, ali me nervira posto mi usporava rad jer radi Open baze sto dodatno usporava umesto da samo Insertuje podatke u nju...
Hvala unapred!
P.S. Zaboravih da napomenem da se ovaj kod izvrsava kroz for petlju ( odatle onaj [ i ]