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

sortiranje data seta

[es] :: .NET :: sortiranje data seta

[ Pregleda: 2264 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vekica
Veroljub Zmijanac
beograd

Član broj: 29640
Poruke: 128
*.sezampro.yu

ICQ: 330192115
Sajt: www.veroljub.blogspot.com


Profil

icon sortiranje data seta16.09.2004. u 03:08 - pre 238 meseci
da to je problem. naime ja korisniku prikazujem sve podatke iz baze osim primarnog kljuca. a njega generisem kao int. pa sam dodao metodu koja prilikom dodavanja novog elementa samo povecava prim. kljuc za jedan. tipa i++

logicno pitanje i sami pretpostavljate. kada obrisem element moram da sve id- ove (kljuceve) pomerim na levo. e tu je moj problem. kako se to radi jer ja nemogu da pristupim toj koloni "id".

jos da spomenem da podatke iz data seta posle prikazujem u list viewu.

cini mi se da mi je koncept los ali namerno nisam hteo da koristim data grid kontrolu

Pozdrav pametni ljudi
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: sortiranje data seta16.09.2004. u 07:25 - pre 238 meseci
Ako sam te dobro razumeo, ti hoćeš da menjaš ID-jeve drugim slogovima kad obrišeš neki slog da ne bi imao "rupa" u redosledu vrednosti ID-ja? Zašto?
 
Odgovor na temu

vekica
Veroljub Zmijanac
beograd

Član broj: 29640
Poruke: 128
*.sezampro.yu

ICQ: 330192115
Sajt: www.veroljub.blogspot.com


Profil

icon Re: sortiranje data seta17.09.2004. u 00:07 - pre 238 meseci
da dobro si me razumeo. pa ako ne uradim to i moja baza krene da raste sta se desava: posle svakog generisanog novog elementa meni se id povecava za jedan. tako da bi (za vrednost int) ja mogao da unesem 42... elemenata. sto je za moju bazu ok. ali ukoliko bih i brisao neke elemente i ponovo dodavao taj broj bi bio znatno manji(jer bi id jednostavno prekoracio int). moglo bi se reci da bi moj id ustvari bio nesto poput = broj novih elemenata - broj elem. koji su dodati posle brisanja poslednjeg elem. recimo
1 2 3 4 5 //pa brisanje
1 3 4 5
1 3 4 5 6 //dodavanje novog. i time bi veoma brzo: index out of range

ali resio sam:

private void UrediPrimaryKeys(int indexUListi) //idexUListi = index u ListView
{
for (int i = indexUListi; i < dataset.Tables["tabelaListaKontakata"].Rows.Count; i++)
{
int x = Convert.ToInt32(dsImenikIMD.Tables["tabelaListaKontakata"].Rows ["id"]) - 1;
dsImenikIMD.Tables["tabelaListaKontakata"].Rows["id"] = x;
}
}

 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: sortiranje data seta17.09.2004. u 07:53 - pre 238 meseci
Citat:
vekica: veoma brzo: index out of range

Index out of range? Pričaš o .NET-u? Tip int u .NETu je označeni tridesetdvobitni. To znači da imaš 2,147,483,647 INSERT-a fore pre nego lupiš u plafon. Više od dve milijarde. Milijarde. To jeste da je manje od količine dolara koje poseduje Bil Gejts, ali je za konvencionalno indeksiranje slogova sasvim dovoljno. Ili možda grešim?
 
Odgovor na temu

spartak

Član broj: 5625
Poruke: 631
*.yubc.net



+3 Profil

icon Re: sortiranje data seta17.09.2004. u 07:54 - pre 238 meseci
Ne znam ko je i zasto obrisao moju prethodnu poruku, ali:

Znas li da si upravo ruinirao performanse programa? To mozda nece odmah da se vidi ali kad budes imao dosta zapisa u bazi i malo jaci saobracaj brisanja pisanja, tvoj program ce pola vremena rada samo bazu da reindeksira.

Sta ces sa rekordima iz tabela koje ces eventualno kljucevima da povezes sa ovom tabelom? I njih ces da reindeksiras po novim parent kljucevima?

Sta ces sa Cross Reference tabelama? Njih bolje onda samo u memoriji i da drzis - posto ce da budu usijane.

Jos jednom da ponovim savet, i da se nadam da nece da me brishu ponovo: "Nemoj da diras primarne kljuceve, oni su jedinstveni identitet nekog rekorda".
 
Odgovor na temu

havramm
Miroslav Havram
Software Developer / Engineer
Beograd

Član broj: 4603
Poruke: 255
212.62.55.*



Profil

icon Re: sortiranje data seta17.09.2004. u 08:30 - pre 238 meseci
Citat:
spartak: Ne znam ko je i zasto obrisao moju prethodnu poruku
Ja sam je obrisao zbog toga što je bila totalno nejasna
Citat:
nemoj da pregupisavasindekse.
ili već nešto slično.

U svakom slučaju sam naveo razlog brisanja i trebalo bi da si dobio povratni mail.
If it's a girl then they're gonna call it Sigourney, after an actress. If it's a boy, then they're gonna call it Rodney, after Dave!
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.bisinter.net



+311 Profil

icon Re: sortiranje data seta17.09.2004. u 10:00 - pre 238 meseci
Najbolja varijanta ti je da ne petljas sa promenom vrednosti primarnog kljuca sto je kod velikog broja slogova vrlo sporo (zamisli da imas sto hiljada redova i obrises prvi znaci ide ti sto hiljada apdejtova na baze plus sto taj apdejt moze da povuce i reindeksiranje kaskadne apdejtove na child tabelama...) vec da kad ucitas podatke prosto dodas novu kolonu prodjes kroz sve redove i upises u njoj vrednosti 1, 2, 3, 4, ....
 
Odgovor na temu

[es] :: .NET :: sortiranje data seta

[ Pregleda: 2264 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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