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

Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?

[es] :: Pascal / Delphi / Kylix :: Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?

[ Pregleda: 3033 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

salvaric
Novi Sad

Član broj: 53995
Poruke: 192
*.adsl.eunet.rs.



+4 Profil

icon Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?09.11.2014. u 14:53 - pre 69 meseci
Pozdrav,

interesuju me vaša iskustva i mišljenja vezana za ovu temu. Na dosta mesta sam našao komentare koji navode da se izbegavaju Data Controls komponente za prikaz i editovanje baze podataka.

Za izradu aplikacije koja je kompleksnija, i zahteva veći broj tabela za prikaz i formi za editovanje, takođe zahteva i znatno veću dužinu koda u koliko se opredeli na standardne komponente, sa operacijama SQL UPDATE,INSERT, DELETE itd..., dok kod Data kontrola jednostavnije sa post opcijom rešava se znatno kraće i brže.


Nikad izvini!
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2628



+69 Profil

icon Re: Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?09.11.2014. u 18:57 - pre 69 meseci
> interesuju me vaša iskustva i mišljenja vezana za ovu temu. Na dosta mesta sam našao komentare koji navode da se izbegavaju Data Controls
> komponente za prikaz i editovanje baze podataka.

Zašto? Nema ničeg lošeg u njima, sistem lepo i brzo radi. Ima i alternativnih načina prikaza, poput MVC/MVP gde se odvajaju podaci od prikaza i tada idu standardne kontrole.

 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 192
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?10.11.2014. u 14:24 - pre 69 meseci
Neznam dal nešto remeti kad se radi u mrežnom režimu (lan il net), pošto više tabela bude aktivno na različitim računarima, i dal prilikom pucanja internet ili lokalne mreže dolazi do oštećenja baze ili tabela.

Imao sam problem sa Access-ovom bazom, korisnik je bio nakačen na nju u lan-u, i nepravilno je izašao iz programa, il je ugasio računar il restartovao a pri tom nije izgasio program, nije mi tačno preneo šta se desilo, uglavnom kompletna baza je bila oštećenja, nisam mogao da izvučem nikakve podatke iz nje. Bekap je jedno od rešenja, koje sam tek posle skontao pravu funkciju, al tad nisam razmišljao o alternativi i desilo se.

I ja mislim, ako se pravilno koriste db komponente, da program lepo funkcioniše, al ne znam dal se sa njima nastaju neka oštećenja podataka u pojedinim situacijama nestanka struje, pucanja mreže itd...

Mada, koliko sam primetio, kod ozbiljnih knjigovdstvenih aplikacija koriste te komponente i rade sa živim podacima u njima, uz privremeno kreiranje tabela i skladištenje podataka u njih (temp) i posle update ili insert u glvnu bazu. U tom slučaju, u koliko je u pitanju editovanje nekog računa ili nečeg drugog, kreiraju privremene tabele, smeste u njih podatke, i prilikom snimanja prvo brišu stavke iz glavne baze, i insertuju nove, kad su u pitanju stavke bilo kog dokumenta, što mi i nije neko eleganstno rešenje za ozbiljan projekat.

Nikad izvini!
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2628



+69 Profil

icon Re: Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?10.11.2014. u 19:15 - pre 69 meseci
Ti u principu i ne treba da imaš direktan pristup tabelama (TTable komponenta), koristiš SQL i adekvatne kverije (da filtriraš podatke), kada se dodaju novi slogovi opet šalješ odgovarajući (INSERT, UPDATE) kveri. Sam način prikaza podataka (db aware komponente ili standardne komponente) i nije toliko vezan za taj drugi deo (rad sa bazom). Ako podatke držiš u nekom od klasičnih baza (Interbase, Firebird, MS SQL) ti i nemaš direktan pristup podacima i tvoje je da obezbediš logičku ispravnost poslatih podataka (preko transakcija) a baza sama brine o upisu na disk i slično. Ako radiš sa Accessom ili Paradoxom (BDE), tvoj program direktno radi sa bazom i tu su moguće komplikacije pa i oštećenja (ali retko), kod njih moraš sam voditi više računa o fizičkom integritetu podataka kod konkuretnog pristupa sa više računara.
Naravno, redovni bekap je u svakom slučaju obavezan.
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 192
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?11.11.2014. u 08:22 - pre 69 meseci
Hvala Savkiću!

Konkretno radim sa MySql bazom u Lazarusu, koristim kverije za pregled (TSQLQurey).

Dal je kvalitetniji način izmene/upisa podataka da kreiram zaseban kveri pa iz njega, nakon korekcije, uzimam podatke i putem sql upita (update, insert) u neki drugi kveri upisujem u bazu , ili direktnom izmenom sloga u datom kveriju (edit, korekcija, post, pa applayupdate i commit nad transakcijom), tačnije, dal da koristim post metodu ili sql upit?

Nikad izvini!
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 192
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?11.11.2014. u 08:35 - pre 69 meseci
Glavni razlog dileme jeste to što koristim DBGrid koji je nakačen na neki kveri, i u koliko želim promene nad nekim slogom u datoj tabeli, otvaram formu sa db komponentama koje su povezane na taj kveri preko datasouce, pa ih korigujem, post metodom snimam, ili da kreiram privremeni kveri na koji nakačim db komponente na formi za izmene, prvo prepisem u njega podatke iz glavnog, pa otvorim formu za izmene i putem sql upisem u bazu, al u tom slučaju operacije će malo duže trajati, i posle svake izmene moram raditi refresh kverija i pozicioniranje korigovanog sloga u DBGrid-u, što znatno duže traje nogo ova prva metoda.
Nikad izvini!
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 790
..ppoe.dyn.broadband.blic.net.



+61 Profil

icon Re: Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?11.11.2014. u 11:20 - pre 69 meseci
Ako su podaci u bazi slozeni, odnosno nije ih lako prikazati/editovati u DBGrid-u, drugi nacin je bolji. Kako bi promenio recimo sliku u bazi bez DBImage-a (na zasebnoj formi za edit)? Moguce je zapravo, ali nije komforno uopste.

Pozz
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2628



+69 Profil

icon Re: Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?11.11.2014. u 13:02 - pre 69 meseci
> Dal je kvalitetniji način izmene/upisa podataka da kreiram zaseban kveri pa iz njega, nakon korekcije, uzimam podatke i putem sql upita (update, insert) u neki
> drugi kveri upisujem u bazu , ili direktnom izmenom sloga u datom kveriju (edit, korekcija, post, pa applayupdate i commit nad transakcijom), tačnije, dal
> da koristim post metodu ili sql upit?

Ne poznajem Lazarus dovoljno da bih ti tačno rekao, ali ako TSQLQuery komponenta ima i Insert/Update/Delete SQL propertije onda je svakako bolje da ih popuniš i pustiš jednu komponentu da uradi ceo posao nego da praviš dve komponente.
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 192
*.adsl.eunet.rs.



+4 Profil

icon Re: Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?11.11.2014. u 13:28 - pre 69 meseci
Mislim da nisam dobro postavio pitanje,

naime,ako imam jedan kveri, aktivan, prikazuje neke podatke u dbgridu, povezan sa DataSource, i ako otvorim formu za korekciju na kojoj su tdbedit komponente nakačeni na isti DataSource kao i dbgrid, tad se direktno menjaju slogovi i na dbgridu, tj kveriju, post metoda posle izlaska iz forme za korekciju snima podatke u kveri, tako da nema potrebe raditi sql update,insert u slučaju da je reč o jednom kveriju, jer su podaci već izmenjeni, samo post i applayupdate metoda će snimiti izmene, jer bi se u tom slučaju u sql upit unosili sopstveni podaci koji su već izmenjeni.

Nadam se da sam sad malo konkretniji.
Nikad izvini!
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 192
*.adsl.eunet.rs.



+4 Profil

icon Re: Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?11.11.2014. u 13:39 - pre 69 meseci
Dal je pametno držati kveru state u edit ili insert modu duže vreme, tj. sve dok se neizađe iz forme za edit i insert?

Radim program za evidenciju prodaje aritikala u maloprodaji, i kad se čeka novi upis artikla, što može duže da potraje, kveri state je stalno u insert modu, zbog toga sam mislio da kreiram zaseban kveri na koji bi nakačio db kontrole na edit formi, i posle insert ili update nad glavnim kverijem, al u tom slučaju moram raditi close i open nad glavnim kverijem koji prikazuje artikle u dbgrid-u.
Nikad izvini!
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2628



+69 Profil

icon Re: Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?11.11.2014. u 22:08 - pre 68 meseci
> Dal je pametno držati kveru state u edit ili insert modu duže vreme, tj. sve dok se neizađe iz forme za edit i insert?

To se sve dešava u memoriji (lokalnoj), nema uticaja na konekciju sa bazom tako da ništa ne smeta u pogledu performansi da se drži otvoren.


 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 192
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?12.11.2014. u 07:39 - pre 68 meseci
Ok, to je to, tako sam i mislio al reko da proverim sa nekim ko ima malo više isustva u ovome.

Hvala Savkiću.

Možete zaključati temu, što se mene tiče.
Nikad izvini!
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Data Controls ili TEdit,TListView prilikom editovanja i pregleda MySql baze?

[ Pregleda: 3033 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

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