Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

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

  • 7 odgovora
  • 3.496 pregleda

Najnovija ↓

unos vise slogova sa podacima iz tabele i text polja u drugu tabelu 30.10.2009. u 21:16 · pre 207 meseci #1
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

Re: unos vise slogova sa podacima iz tabele i text polja u drugu tabelu 31.10.2009. u 12:47 · pre 207 meseci #2
> 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;

Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: unos vise slogova sa podacima iz tabele i text polja u drugu tabelu 31.10.2009. u 16:40 · pre 206 meseci #3
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
Re: unos vise slogova sa podacima iz tabele i text polja u drugu tabelu 01.11.2009. u 02:25 · pre 206 meseci #4
> 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.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: unos vise slogova sa podacima iz tabele i text polja u drugu tabelu 01.11.2009. u 22:30 · pre 206 meseci #6
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 ?
Re: unos vise slogova sa podacima iz tabele i text polja u drugu tabelu 02.11.2009. u 21:37 · pre 206 meseci #7
> 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).
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme