Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sta nije u redu sa ovim upitom?

[es] :: Pascal / Delphi / Kylix :: Sta nije u redu sa ovim upitom?

[ Pregleda: 2697 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.229.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Sta nije u redu sa ovim upitom?02.09.2006. u 10:46 - pre 179 meseci
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 :

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;


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;


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...
 
Odgovor na temu

marcha
Nikola Marcic
Beograd/Leskovac

Član broj: 6454
Poruke: 108
80.93.238.*

ICQ: 156892888


+1 Profil

icon Re: Sta nije u redu sa ovim upitom?02.09.2006. u 10:54 - pre 179 meseci
Umesto TADOQuery uzmi TADOCommand. SQL kod njega upisujes u property "CommandText"
Marcha
-----------------------------------
Pretpostavka je majka zajeba.
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

Član broj: 35478
Poruke: 617
195.246.3.*



Profil

icon Re: Sta nije u redu sa ovim upitom?02.09.2006. u 11:30 - pre 179 meseci
Jel mozeš da makneš try..except i da vidiš koja greška je u pitanju?

ss.
When something is hard to do, then it's not worth doing.
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.229.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: Sta nije u redu sa ovim upitom?02.09.2006. u 11:39 - pre 179 meseci
@ sasas

Greska koju dobijem je:

Project Project1.exe raised exception class EOleException with message 'Syntax error in INSERT INTO statement'. Process stoped. Use Step or Run to continue.

@ marcha

Mora da radi i sa ADOQuery-em posto 10 linija koda ispod problematicnog koda koristim drugi ADOQuery za upis nekih podataka u drugu bazu i to radi bez ikakvih problema sa onim prvim sto sam gore napisao, tako da je problem izgleda bas u samom upitu, ali meni nije jasno gde je problem...
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2665



+73 Profil

icon Re: Sta nije u redu sa ovim upitom?02.09.2006. u 11:50 - pre 179 meseci
> 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 :
> 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)');

Koju bazu koristiš? Naziv polja R+M deluje sumnjivo, uglavnom RDBMS zahtevaju takve nazive u navodnicima. Šta se dešava ako tekst otkucaš van programa u nekom isql programu koji dolazi uz RDBMS?
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.229.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: Sta nije u redu sa ovim upitom?02.09.2006. u 14:45 - pre 179 meseci
@ savkic

Hvala puno, resio sam problem! Koristim Access bazu i trebalo je staviti naziv polja u [] zagrade...
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Sta nije u redu sa ovim upitom?

[ Pregleda: 2697 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.