Hirdetés
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Nem indul és mi a baja a gépemnek topik
- Milyen joysticket vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Amlogic S905, S912 processzoros készülékek
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Hard Disk Sentinel: S.M.A.R.T., okosan
- Házimozi haladó szinten
- Milyen monitort vegyek?
- A legrosszabb CPU-k – az ExtremeTech szerint
Új hozzászólás Aktív témák
-
Homer
tag
Sziasztok!
Mint már korábbi hsz-eimben is írtam, autodidakta módon próbálom elsajátítani a VB-t, ezért előre is elnézést kérek, ha valami gagyi dolgot kérdeznék, amit természetes, hogy mindenki tud, csak persze én nem. :$
Kérdésem annyi lenne, hogy oop-ban milyen módon érdemes felépíteni az objektumokat adatbázis kezeléshez? Honnan tudnám ezt megtanulni? Tudtok valami jó könyvet hozzá? A VB fekete könyvet végigolvastam, de számomra nem derül ki belőle, hogy mi lenne az optimális út.? Tulajdonképpen megismertem általa magát a nyelvet, csak nem tudom optimálisan használni. :S
Egy konkrét, egyszerű példa, pl:
oldedb-vel beolvasok egy adatkészletbe pár táblát, amik közt kapcsolatokat is definiálok. (Teszem azt személyeket tartok nyilván, ID alapján, mellette egy másik táblában a szemük színét. A két tábla közt pedig egy fordítótábla van. Pl: Az első tábla 1. személyéhez tartozik a második tábla 6. sorában található kék szín. Ezt tárolja a 3. tábla.) Eddig gyönyörű is a történet, megvannak a kapcsolatok, tudok vezérlőket kötni a táblák adataihoz is, ez alapján akár még szűrni is a grid megfelelő sorait. Mondjuk módosítani akarok bizonyos adatokat vezérlőkkel, és nem közvetlenül egy kapcsolt datagrid-ben, esetleg egy új formon, amiben ki akarom választani egy combobox-ban a személyt, majd szemszínt egy listbox-ból. A változást vissza akarom írni az Access mdb file-ba.
Itt jön a kérdésem. Ha a fenti módon járok el, akkor a formok közti adatátadás során a készlet szűrt sorainak átadása jelent gondot, hiszen a szülő form adatait csak a sorszámuk alapján tudom elérni, vagy generálni kell hozzá egy key-t, ami véleményem szerint plusz adatokat generál. Sikerült így is megcsinálnom a progit, ami hellyel-közzel működött is.
Csinálhatnék az új formon is egy új adattáblát, amibe „átmásolom” a szülő form eredménylistáját a form deklarálása után.
Aztán gondoltam személy-objektumokkal próbálom megoldani. Ekkor csináltam minden egyes emberről egy objektumot. Az objektum tartalmazta a személy ID-jét is, így egyszerű volt kikeresni a táblában, hogy melyik személyre vonatkozik a módosítás. Megúsztam a formok közti adatcsere gondját is, hiszen egy kollekcióban át tudtam adni az összes módosítani kívánt személyt, ID-vel együtt. Itt viszont azért kellett plusz adatokat generálni, mert beolvastam az adattáblák adatait az adatkészletbe, aztán onnan megcsináltam az objektumokat, ergo mindent 2x kellett memóriába tölteni, cserébe viszont egyszerű volt megkeresni, hogy melyik sort kell módosítani a készletben, és az adatkészlet tábláinak update-elése is tötrénhetett egy-egy sima dataadapter.update(dataset) procedúrával.
Még arra is gondoltam, hogy a kettő fenti megoldást lehetne ötvözni, és olyan objektumokat létrehozni, amelyek nem az adatkészletből generált komplett adatobjektumokat kezelnek, csak bizonyos rekordmezőket tárolnék bennük aztán ez alapján beazonsítom a kívánt sort, majd elvégzem a kívánt módosítást az adatkészletre való közvetlen hivatkozással.
Remélem értitek a kérdésemet! Ezt hogy szokta megoldani egy vérbeli, ultraexpert, unatkozó programozó? Tudtok esetleg olyan oldalt ahol példákat találhatnék hasonló tipikus feladatokról? Nem kód érdekelne tehát, hanem az alapelgondolás. Mire építsem fel az objektumok rendszerét, és mikor? Úgy értem, esetleg egy datareader ismegoldás lehet, ahol nem kell adatkészletet feltölteni. Így egyből tudnék objektumokat létrehozni.Előre is köszi minden válaszra méltónak!
Új hozzászólás Aktív témák
- Óra topik
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Nem indul és mi a baja a gépemnek topik
- Okosóra és okoskiegészítő topik
- Redmi Note 11 és 11S - biztos alapra jobb építeni
- QNAP hálózati adattárolók (NAS)
- OTP Bank topic
- Milyen joysticket vegyek?
- Napelem
- Energiaital topic
- További aktív témák...
- ÚJ ASUS Vivobook 15 X1504 - 15.6"FHD IPS - i5-1335U - 16GB - 1TB - Win11 - 3 év garancia - MAGYAR
- Apple iPhone 14 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy A36 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Gamer PC i5-7500 / 8GB RAM / 750W EVGA / XFX Radeon HD 7950 3GB Double Dissipation Black Edition
- AMD PC , Ultra 225 , RX 6600 XT , 16GB DDR5 , 512GB NVME , 2TB HDD
- Samsung Galaxy Note 20 256GB,Újszerű,Adatkabel,12 hónap garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4065, 90% Akkumulátor
- HIBÁTLAN iPhone 13 Pro Max 256GB Sierra Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS4224
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB DDR5 RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


