- Mobil flották
- Xiaomi 14 - párátlanul jó lehetne
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Android alkalmazások - szoftver kibeszélő topik
- Telekom mobilszolgáltatások
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Google Pixel topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Nem lesz Redmi Note 16, évet ugrik a sorozat
- Honor 200 Pro - mobilportré
Ú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
- Vezeték nélküli fejhallgatók
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- PlayStation 5
- Kész rémálom lesz Linuxot használni jövőre az USA egyes államaiban
- Mini PC
- Mit tehetsz jogilag, ha átvertek, megkárosítottak a Hardveraprón?
- Vezeték nélküli fülhallgatók
- Hitelkártyák használata, hitelkártya visszatérítés
- Arc Raiders
- Fejhallgató erősítő és DAC topik
- További aktív témák...
- MSI Gaming Thin 15 - 15.6"FHD 144Hz - Ryzen 7 7735HS - 16GB - 1TB - Win11 - RTX 4060 - 2,5 év gari
- Akció! Acer Nitro 5 AN515-55! I7 10750H / RTX 3050Ti / 16GB DDR4 / 512GB Nvme SSD!
- Ryzen7 5700G/ 32GB DDR4/ 1TB m.2 alapú mini PC/ garancia
- AKCIÓ! iMac Pro Intel Xeon W2150B 64GB 1TB VEGA 64 16GB!!! 1 év garancia!
- Dell Latitude 5591 i7/500GB M2 SSD/ 32GB DDR4
- BESZÁMÍTÁS! ASUS TUF GeForce RTX 3080 Ti 12GB videokártya garanciával hibátlan működéssel
- Dell 90W USB-C töltő
- Dell Latitude 7420 Core i7-1185 G7, 16GB RAM, SSD, jó akku, számla, 6 hó gar, szép állapot
- Beszámítás! Asus VZ239HE-W White 75Hz FHD IPS 5ms monitor garanciával hibátlan működéssel
- Több darab! MacBook Pro 16" M1 32GB RAM 27%-os áfás számla
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


