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

unos vise slogova sa podacima iz tabele i text polja u drugu tabelu

[es] :: Pascal / Delphi / Kylix :: unos vise slogova sa podacima iz tabele i text polja u drugu tabelu

[ Pregleda: 2136 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

siki_2006
siki iki
novi pazar

Član broj: 126120
Poruke: 9
91.150.116.*



Profil

icon unos vise slogova sa podacima iz tabele i text polja u drugu tabelu30.10.2009. u 20:16 - pre 149 meseci
Pozdrav svima.

u pitanju je delphi i access, kako mogu da sve podatke koji su rezultat SQL upita iz jednog ADOQuery-a i jos neke podatke iz text polja unesem u drugu tabelu?

Da su u pitanju samo podaci iz tabele uradio bih to preko INSERT SELECT, medjutim tu su i podaci iz text polja.

Da li je moguce da to uradim pomocu WHILE petlje sve do kraja ADOQuery-a (ADOQuery.Eof), INSERT-ujuci u svakom ciklusu po jedan slog u drugu tabelu preko DrugaTabela.SQL.Text="INSERT INTO ...." i kako bi to izgledalo odprilike (deo koda)?

Hvala unapred

 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2685



+78 Profil

icon Re: unos vise slogova sa podacima iz tabele i text polja u drugu tabelu31.10.2009. u 11:47 - pre 149 meseci
> Da li je moguce da to uradim pomocu WHILE petlje sve do kraja ADOQuery-a (ADOQuery.Eof), INSERT-ujuci u svakom ciklusu po jedan
> slog u drugu tabelu preko DrugaTabela.SQL.Text="INSERT INTO ...." i kako bi to izgledalo odprilike (deo koda)?

Evo neophodnih koraka, sintaksa nije tačna ti pogledaj kako se tačno zovu metode u tvom datasetu.

Code:

  ins.Transaction.Start;
  ins.SQL := 'INSERT INTO TABELA (POLJE1, POLJE2) VALUES (:A, :B);
  ins.Prepare;
  Query.First;
  while not Query.Eof do
  begin 
    ins.Params[0] := Query.FieldByName('PROBA').AsString;
    ins.Params[1] := 2;
    ins.ExecSql;
  end;

  Ins.Transaction.Commit;


 
Odgovor na temu

siki_2006
siki iki
novi pazar

Član broj: 126120
Poruke: 9
79.101.222.*



Profil

icon Re: unos vise slogova sa podacima iz tabele i text polja u drugu tabelu31.10.2009. u 15:40 - pre 149 meseci
Da li ovo mogu da iskoristim sa Access-ovom bazom i ADO komponentama?

i kako bi to izgledalo? razumeo sam logiku , medjutim ne znam kako da realizujem sa Accessom. sta mu doje "ins" u ovom slucaju, posto ADOQuery komponenta ne poseduje metodu Transaction, kolko mogu da primetim? Pocetnik sam u Delphi-u pa nije jasno, hvala
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2685



+78 Profil

icon Re: unos vise slogova sa podacima iz tabele i text polja u drugu tabelu01.11.2009. u 01:25 - pre 149 meseci
> i kako bi to izgledalo? razumeo sam logiku , medjutim ne znam kako da realizujem sa Accessom.

Princip je isti u svim bazama.

> sta mu doje "ins" u ovom slucaju,

ins = insert (neka kveri komponenta).

> posto ADOQuery komponenta ne poseduje metodu Transaction, kolko mogu da primetim?

Za ADO ne znam kako funkcioniše ali mora imati neki način za kontrolu transakcije, pogledaj u top temi postoji uputstvo za rad sa ADOm, verujem da ima opisan i način upotrebe transakcija.
 
Odgovor na temu

_deran_

Član broj: 69493
Poruke: 240
79.101.253.*



+1 Profil

icon Re: unos vise slogova sa podacima iz tabele i text polja u drugu tabelu01.11.2009. u 09:16 - pre 149 meseci
nedostaje "Query.Next;" ... ako query vrati vise record-a, bice mrtva petlja.
 
Odgovor na temu

siki_2006
siki iki
novi pazar

Član broj: 126120
Poruke: 9
77.46.184.*



Profil

icon Re: unos vise slogova sa podacima iz tabele i text polja u drugu tabelu01.11.2009. u 21:30 - pre 149 meseci
u top temi nema nista o ADO transakcijama, ili bar ja nisam nasao nista. Potrazio sam nesto po knjigama i internetu i video da se kontrola transakcije kod ado komponenata vrsi preko ADOConnection komponente, pa sam odradio nesto sto izgleda ovako odprilike:

Code:

procedure TForm1.Button3Click(Sender: TObject);
begin
konekcija.BeginTrans;
try
ADOCommand.CommandText:='INSERT INTO tabela (polje1, polje2, polje3)  VALUES (:parametar1,:parametar2,:parametar3)';
ADOQuery.First;
while not ADOQuery.Eof do
  begin
      ADOCommand1.Parameters.ParamByName('parametar1').Value:=
      ADOQuerypolje1.Value;
      ADOCommand1.Parameters.ParamByName('parametar2').Value:=
      ADOQuerypolje2.Value;
      ADOCommand1.Parameters.ParamByName('parametar3').Value:=
      StrToInt(edit3.Text);
      ADOCommand1.Execute;
      ADOQuery.Next;
   end;
 
  konekcija.CommitTrans;
except
   konekcija.RollbackTrans;
   raise;
end;
end;



medjutim, posle izvrsenja gore navedenog koda, javlja mi sledecu poruku:

"Project projekat.exe rised exception class EOIeException with message 'Overfolw'. Proces stopped..."


sta bi to moglo da bude ?
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2685



+78 Profil

icon Re: unos vise slogova sa podacima iz tabele i text polja u drugu tabelu02.11.2009. u 20:37 - pre 148 meseci
> medjutim, posle izvrsenja gore navedenog koda, javlja mi sledecu poruku:
> "Project projekat.exe rised exception class EOIeException with message 'Overfolw'. Proces stopped..."

Prvo lociraj gde se tačno dešava ta greška (pusti kroz debugger i F7 do greške), moguće je da vrednosti koje prosleđuješ parametrima su nepodržane. Takođe, pokušaj da koristiš konkretne tipove podataka (AsString, AsInteger), ne variant (Value).
 
Odgovor na temu

siki_2006
siki iki
novi pazar

Član broj: 126120
Poruke: 9
79.101.165.*



Profil

icon Re: unos vise slogova sa podacima iz tabele i text polja u drugu tabelu05.11.2009. u 12:01 - pre 148 meseci
Hvala, u pitanju je bio tip podataka, vrednosti koje je program generisao i prosledjivao parametrima su premasivale opseg Integer-a.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: unos vise slogova sa podacima iz tabele i text polja u drugu tabelu

[ Pregleda: 2136 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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