[ pelle07 @ 05.06.2010. 19:41 ] @
Trebam da napravim aplikaciju za vodjenje biblioteke koja radi sa bazom,ali imam problem sa upitima,pa ako bi neko mogao da mi pomogne... Potrebni su mi upiti za :
1. Unos,brisanje,izmenu i pretragu knjiga...
2. Za izmenu i pretragu clanova...

Prilozena je sema tabela i njihovih medjusobnih veza...

[ ik0 @ 05.06.2010. 23:07 ] @
Nisam mnogo kompetentan al evo ja sam do pre neki dan radio nesta slicno...

evo ti link kako da konektiras bazu http://www.delcode.com/tutorials.html
ovde imas edit i delete http://www.elitesecurity.org/t401569-Borland-problem

unos u bazi
Code:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
ADOTable1->Insert();
ADOTable1->FieldByName("Ime")->AsString=Edit1->Text;
ADOTable1->Post();
Close();
}


Pretrazivanje po koloni....
Code:

void __fastcall TForm1::Button2Click(TObject *Sender)
{
TLocateOptions SearchOptions;
SearchOptions << loPartialKey;
 bool locateSuccess = ADOTable1->Locate("Ime", Edit1->Text,SearchOptions); //pretrazuje ono sta imas napisano u Edit1.  
if(locateSuccess)
  ShowMessage("Pronajdeno!");
else
  ShowMessage("Ne postoi");
}


ako sam negde zgresio, iskusnije nek me isprave....
[ pelle07 @ 06.06.2010. 08:43 ] @
Hvala na trudu,ali radim u C++,tako da je kod drugaciji...A i meni su potrebni SQL upiti za onu bazu...
[ GORSHTAK @ 06.06.2010. 12:38 ] @
Evo primer upita, a nisam radio baze sa C++
Modifikuj po potrebi.
Za izmenu podataka uvek moraš prvo da uradiš select, i da u update automatski popuniš vrednosti, pa po potrebi da menjaš.

Code:

select kn.udk, kn.naziv, kn.broj_stara, ....., -- da ne kucam sve
  iz.sifra_izdavaca, iz.naziv, iz.mesto, au.sifra_autora, au.ime, au.prezime
from knjige kn, izdavac iz, autor au
where iz.sifra_izdavaca = kn.sifra_izdavaca
  and kn.sifra_autora = au.sifra_autora
  and 
  (  --  primeri za pretrazivanje
  kn.naziv = ????
  or kn.povez = ???
  or iz.naziv = ???
  or au.ime = ???
  or au.prezime = ???
  or ........
  
  );
  
delete from knjiga
where udk = ???;

update knjiga
set naziv = ???,
    sifra_izdavaca = ???,
    ....
where udk = ???;

insert into knjiga(udk, naziv, broj_starna, ....)
values(?,?,?,?,......);

-- clanovi 
select cl.sifra_clana, cl_ime, .....,
 po.datum_uzimanja, .....
from clanovi cl, pozajmica po
where cl.sifra_clana = po.sifra_clana
  and (
  cl.ime = ???
  or cl.prezime = ???
  or po.datum_uzimanja between dan1 and dan2
  or .....
  
  );
  
update clanovi
set status = ???,
  .....
where sifra_clana = ???;  

--- mozda ti je ovo bitnije
update pozajmica
set datum_uzimanja = ???,
    datum_vracanja = ???
where sifra_clana = ???
  and udk = ???;
insert into pozajmica (udk, sifra_clana, datum_uzimanja, datum_vracanja)
values (?,?,?,?);
[ pelle07 @ 10.06.2010. 18:35 ] @
Hvala puno...Dosta mi je pomoglo ovo...