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

veza 2 tabele u delphiiji-paradox

[es] :: Pascal / Delphi / Kylix :: veza 2 tabele u delphiiji-paradox

[ Pregleda: 4458 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dejov
Dejan Jovic
Zrenjanin

Član broj: 17537
Poruke: 88
*.ptt.yu



Profil

icon veza 2 tabele u delphiiji-paradox17.01.2004. u 16:50 - pre 245 meseci
Evo , ja sam pocetnik u programiranju baza podataka. Potrebno je da mi pomognete da napravim vezu izmedju 2 baze u paradoxu i da to implementiram u delphi interfejsu. Na primer sa nekim sql upitom.
 
Odgovor na temu

byTer

Član broj: 10936
Poruke: 1221
*.ptt.yu

ICQ: 47761626


Profil

icon Re: veza 2 tabele u delphiiji-paradox17.01.2004. u 23:09 - pre 245 meseci
Zavisi od toga kakvu vezu zelis i koje podatke treba da dobijes.
Sto se samog delfija tice, moguce je da bez mnogo querija koristis veze izmedju tabela, tako sto napravis instance na tabele pa odatle crpes podatke.

A ako bvas hoces SQL onda nesto ovako

SELECT * FROM table1, table WHERE <uslovi>

ili jos

SELECT table1.userID, table1.username, table2.adress FROM table1 INNER JOIN table1.userID = table2.userID WHERE <USLOVI>

itd.

Daj problem koji imas, a querije cemo lako ;)
 
Odgovor na temu

dejov
Dejan Jovic
Zrenjanin

Član broj: 17537
Poruke: 88
*.ptt.yu



Profil

icon Re: veza 2 tabele u delphiiji-paradox18.01.2004. u 02:56 - pre 245 meseci
ma nije bitno, bilo koje dve tabele, evo na primer tabela clan i tabela film a veza je -iznajmljuje- na primer. Znam da se pravi i treca tabela i za sql znam da se pozivaju obe sa from to je ok, ali kako ja njih da povezem, tamo u database desktop-u i kako to da implementiram u interfejsu delphija.

Imam i jedno dodatno pitanje: Ako query pkazuje na primer na jdnu tabelu i to odredim u delphiju, kako onda da u sql upitu u odeljku from navedem 2 tabele, ako tamo u delfiju definisem da sql radi za jednu
 
Odgovor na temu

dejanet
Beograd

Član broj: 19240
Poruke: 1181



+835 Profil

icon Re: veza 2 tabele u delphiiji-paradox18.01.2004. u 12:35 - pre 245 meseci
U delphi-u
1. Prvo si kreirao New application i dobio si recimo form1
2. Obavezno kreiraj Datamodule, cisto da ne drzis tabele i query-e na formu
3. Mnogo ti je zdravije da male projekte radis u accessu pa da se nakacis na bazu preko ADOconnection, adotable, adoquery .....itd.
4. Onaj databasedesktop za paradox bi ja bolje napravio, a baj'd vej kada budes nosio program na drugu masinu moras da na tu masinu instaliras BDE biblioteke, nasuprot tome ako uradis u access-u mozes da odneses samo 2 fajla 1 EXE i 1 bazu (windows 98,2000 i XP imaju podrsku za Ado i ako nije instaliran access na toj masini)
5. Imas 2 osnovne veze za pocetak lookup i master detail, obe veze mozes da postignes u datamodulu (vidi help)
6. Te veze mozes da postignes i preko query-a kao sto ti je kolega rekao isto u datamodulu. Ove veze se zovu biznis logika, a ako hoces biznis logiku da gurnes u samu bazu paradox, access... to je dobro razmisljanje ali za velike sisteme i na SQL serverima (MS SQL Server, Oracle....) gde imas brdo komandi i mogucnosti za kreiranje biznis logike. Ukratko za male projekte kreiraj u access-u samo table-ove a u Delphi-u u datamodulu veze i query-je.

 
Odgovor na temu

dejov
Dejan Jovic
Zrenjanin

Član broj: 17537
Poruke: 88
*.dialup.neobee.net.



Profil

icon Re: veza 2 tabele u delphiiji-paradox18.01.2004. u 23:51 - pre 245 meseci
Kreirao bih ja u acesu,a li mi je seminarski da to uradim u paradoxu, a sto se tice bde-a oni ga na faxu naravno imaju.

Ja stvarno nemam pojma kako se radi sa data modulom i sta se postize takvim povezivanjem, pa bih moilo da mi objasnite kako se povezuju tabele u data modulu.

Imam jedno pitanje i za upite. Sta ako za neki query postavim u object inspectoru da pokazuje na odredjenu tabelu (pomocu DatabaseName), kako onda takav upit moze da pokazuje na vise tabela u sql jeziku u odeljku from?
 
Odgovor na temu

dRock9
Kragujevac - Beograd

Član broj: 4217
Poruke: 54
217.26.76.*



Profil

icon Re: veza 2 tabele u delphiiji-paradox19.01.2004. u 14:46 - pre 245 meseci
Pazi ja licno ne volim access mada je dejanet upravu sto se tice toga da moras da vuces BDE.

Ono sto sam ja skontao da tebi treba je vezivanje recimo clanova i filmova koji su iznajmljeni. To mozes jednostavno da uradis na sledeci nacin:

1. Kreiras tabelu clanovi u Database Desktopu (kasnije cu pisati DD ovo mi je dugacko :)) i za svakog clana osim podataka dodas i neko polje tipa Redni Broj (celobrojnog tipa) i postavis ga za kljuc (key).

2. Na slican nacin u DDu napravis tabelu filmovi i dodas polje npr. korisnik koga takodje postavis za Key.

sada u delphiju za svaku tabelu imas jednu mnogo zgodnu opciju koja se zove FindByKey pomocu koje se relativno brzo nalaze potrebni slogovi. Naravno moguce je pstaviti i upit tipa:
Code:

SELECT * FROM clanovi, filmovi
WHERE RedniBroj=Korisnik


dejanet:
Postoji program napravljen na osnovu DDa (sluzi istoj svrsi) ali je dosta mocniji i sveobuhvatniji, a cini mi si i da je besplatan. A takodje postoje opensource komponente za delphi za direktan pristup tabelama (Paradox, dBase, ...) bez BDE-a. Obzirom da nemam fon i da sve ovo nabadam iz icaffe-a ne znam tacno nazive ali koliko se secam obe stvari sam preuzeo sa Torry delphi pages sajta (cini mi se www.tory.net ili www.torry.net). Resile su me mnogih muka, pogotovu sto instalshield zna da zabrlja (bar ona verzija koju ja imam) kada povuce BDE.

Pozdrav !
 
Odgovor na temu

byTer

Član broj: 10936
Poruke: 1221
*.info-net.co.yu

ICQ: 47761626


Profil

icon Re: veza 2 tabele u delphiiji-paradox19.01.2004. u 15:41 - pre 245 meseci
BDE se nikada skoro neinstalira kaok treba. Ja sam sve uspeo da resim uz pomoc INNO setupa, jer je potrebo samo da se startuje sa rundll32.exe jedan fajl koji automatski razvije BDE na mashini. (pogledaj malo instalacionu dokumentaciju za Deploying BDE Applications). Mada mi se cini da treba da se dodaju i registry keys za ODBC, (ako ide preko njega). Sve u svemu, mnogo muke. Zato je mnogo bolji ADO.
 
Odgovor na temu

dejov
Dejan Jovic
Zrenjanin

Član broj: 17537
Poruke: 88
*.ptt.yu



Profil

icon Re: veza 2 tabele u delphiiji-paradox19.01.2004. u 17:53 - pre 245 meseci
Evo, mozda sam malo dosadan ali imam jedan problem koji i nije tako veliki za vas. Evo napravio sam 2 tabele: opstina i okrug znaci to izgleda ovako:

________ _______
| | | |
| okrug |---ima----------|opstina |
|________| |_______|



Znaci, imamo vezu (1,m) prema (1,1) i na osnovu toga imamo 2 tabele gde kljuc iz tabele okrug prelazi i postaje obelezje u tabeli opstina, odnosno imamo sledeca polja za tabele:

okrug: ImeOkruga,StanovnistvoOkruga,PovrsinaOkruga- kljuc je ImeOKruga
opstina: ImeOpstine,ImeOkruga,StanovnistvoOpstine,PovrsinaOpstine.

Sada, napravio sam te dve tabele u paradoxu pomocu database desktopa i odredio primarne kljuceve i obelezja, gde i kljuc iz okruga postaje obelezje u tabeli opstina.

1.E, kako sada te dve tabele da povezemu data modulu ili na neki drugi nacin?

2. Onda, recimo na formi nabacim 2 table komponente jedna za jednu, a druga za drugu tabelu, dao i 2 datasoursa za njih i 2 dbgrida za prikaz tih tabela. To je ok. Sada zelim da napravim upit.

Neka upit glasi: Izbaci broj stanovnistva onog okruga u kojem se nalazi opstina Zrenjanin?

Ubacim jos jedan dbgrid za prikaz upita, jedan query i datasourse. sada taj dbgrid uzima taj datasource3 koji vezem na query1. Problem je za cega da vezem query1 u object propertisu, jer kada biram Database name moram da izaberem jednu tabelu, a taj query treba da se veze za obe tabele, ako sql upit tako zahteva.

Unapred hvala!
 
Odgovor na temu

dejanet
Beograd

Član broj: 19240
Poruke: 1181



+835 Profil

icon Re: veza 2 tabele u delphiiji-paradox19.01.2004. u 20:06 - pre 245 meseci
Uporan si Dejov, bice od tebe programer (ali ko sam ja da ocenjujem). Reci cu ti za master-detail odnos (1:n), samo nemoj da me teras da palim BDE (zadnji put sam ga koristio pre ravno 6 godina, ako mi verujes), tako da cu ti pisati malo napamet:

okrug: ImeOkruga,StanovnistvoOkruga,PovrsinaOkruga- kljuc je ImeOKruga
opstina: ImeOpstine,ImeOkruga,StanovnistvoOpstine,PovrsinaOpstine.

okrug ti je master(1), a opstina detail(n). 1:n

(u datamodulu ili formu)
1. Stavis table1 (tablename=okrug)
2. Stavis table2 (tablename=opstina)
3. Stavis datasource1 (dataset=table1)
4. U table2 (mastersource=datasource1)
5. U table2 (klikni na Masterfields tj.[..], dobices 1 prozor sa detail fields, masterfields, joined fields; Oznaci na master fields Ime okruga a na detail fileds oznaci Ime okruga(isto), onda klikni dugme [ADD] i [OK].
6. Napravio si master detail, ako stavis table1,table2 active= true i startujes program i krenes da se setas po DBgrid1-u videces da se dole pojavljuju opstine koje pripadju okrugu.

A sto se query-a tice za broj stanovnika tu moras da koristis parametre za query:
NECES VALJDA DA RACUNAS RUCNO broj stanovnika u okrugu ako imas opstine:

Pisem OPISNO iz GLAVE (uzmi to u obzir)

QUERY1:
select sum(StanovnistvoOpstine) as ukstanovnika
from opstina
where imeokruga=:param1

(nota: ako stavis jos neko polje posle select onda to polje moras da uvrstis preko group by .. na kraju Query-ia)

Kod Query1 nadji parameters pa nadji param1 i podesi ga da bude string ako ti je u bazi(DD) alpha ili text (zaboravio sam u BDE-u)

Stavi Button
onbuttonclick stavi kod:
Query1.close;
Query1.parambyname ili Query1.parameters.parambyname(param1).value:=table1imeokruga.asstring;
Query1.open;

Vezi pre toga Query1 na datasource a ovo na dbgid ili DBlabel(field=ukstanovnika)

Ovo je malo za pocetak (mozda si ovo znao i ranije), moras posle da obradis situaciju kada brises master(okrug) da se obrisu i pripadajuce opstine (EVENT:table1.Ondelete). Drugo key polja dodeljuj drugim poljima (recimo zavedi u DD-u ID (autoinc) polje).

Trece imas lookup polja, u jednoj tabeli , koja su iz drugih tabela, preko njih kombinujes ispise iz vise tabela (vidi help).



P I S A O S A M IZ G L A V E, shvati princip nemoj paste copy.

Citaj HELP, tamo sve pise.

Pozdrav.
 
Odgovor na temu

dejov
Dejan Jovic
Zrenjanin

Član broj: 17537
Poruke: 88
*.dialup.neobee.net.



Profil

icon Re: veza 2 tabele u delphiiji-paradox21.01.2004. u 01:46 - pre 245 meseci
LJudi, hvala vam. Mozda sam bio "malo" dosadan , ali vredelo je. Resio sam problem.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: veza 2 tabele u delphiiji-paradox

[ Pregleda: 4458 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

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