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

Pomoć oko kontrole tablice

[es] :: .NET :: Pomoć oko kontrole tablice

[ Pregleda: 1966 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

west_herc
west_herc

Član broj: 103549
Poruke: 160
*.tel.net.ba.



Profil

icon Pomoć oko kontrole tablice17.11.2006. u 15:45 - pre 212 meseci
Postovane kolege forumasi, zanima me sljedeće.

Kad unosim podatke u neku tablicu, sve sam ja to sredio, unos preko forme, ..., ali kad unesem isti PK javi mi error. Naravno to je onaj po defaultu, ali ja ne bih ovaj po defaultu.
Mene zanima kako da ja provjeravam da li je unesena ista vrijednost? Da li da pomoću indeksa očitam sve što s enalazi u prvom stupcu, pa preko for petlje ili foreach provrtim ono što sam ja uneo i na osnovu tog da mi javlja da li postoji ista vrijednoist ili ne u tablici.

Hvala unapred svima i duplo vraćam.
 
Odgovor na temu

sstanko78
Novi Sad

Član broj: 19139
Poruke: 411
212.200.52.*



Profil

icon Re: Pomoć oko kontrole tablice21.11.2006. u 06:35 - pre 211 meseci
Ako ti je PK AutoIncrement polje, onda i ne treba da ga menjas ili diras
vec samo posalji u INSERT-u podatke koje zelis da ubacis u tu tabelu.
On ce sam dodeliti novi PK.
Ako ti PK nije AutoIncrement vec npr int, onda treba da nadjes najveci
(predlazem da za to koristis neku stored proceduru)

Code:

SELECT @ZadnjiPk=MAX(Neki_PK) FROM NekaTabela


Ovo vazi ako ti je PK int tipa
 
Odgovor na temu

sstanko78
Novi Sad

Član broj: 19139
Poruke: 411
212.200.52.*



Profil

icon Re: Pomoć oko kontrole tablice21.11.2006. u 06:36 - pre 211 meseci
Ako ti je PK AutoIncrement polje, onda i ne treba da ga menjas ili diras
vec samo posalji u INSERT-u podatke koje zelis da ubacis u tu tabelu.
On ce sam dodeliti novi PK.
Ako ti PK nije AutoIncrement vec npr int, onda treba da nadjes najveci
(predlazem da za to koristis neku stored proceduru)

Code:

SELECT @ZadnjiPk=MAX(Neki_PK) FROM NekaTabela


Ovo vazi ako ti je PK int tipa
 
Odgovor na temu

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 898
*.sksyu.net.



+171 Profil

icon Re: Pomoć oko kontrole tablice21.11.2006. u 11:32 - pre 211 meseci
Pretpostavljam kada kazes tablice da mislis na tipizirani DataTable. Ako je tako onda mozes da uradis sledecu stvar

Code:

try
            {
                MainBindingSource.EndEdit();
                //Save
                // ...
            }
            catch (Exception exp)
            {             
                if (exp is ConstraintException)
                {
                    // neki text
                }             
            }


MainBindingSource je BindingSource koji vodi racuna o dodavanju u DataTable, znaci u try bloku treba da ti bude snimanje podataka u DataTable na sta ce se izbaciti Exception ukoliko dodje do dupliranja PK u lokalnoj tabli. Ovo moze da ti koristi ukoliko imas samo lokalni pristup podacima odnosno jednog korisnika ali ukoliko je vise korisnika neko ce uvek biti u mogucnosti da pre tebe doda PK koji bas ti sad hoces da dodas, pa ces na kraju dobiti exception od baze, pod uslovom da si kreirao PK na DB-u.
Ja bi ti preporucio, iako ce neki mozda da se nesloze, da PK kod prostih tabela ostavis DB-u da sam generise, da li ce to biti GUID ili IDENTITY to je vec na tebi.
 
Odgovor na temu

colke77
Dragan Colić
Beograd

Član broj: 74309
Poruke: 194
195.252.107.*



+12 Profil

icon Re: Pomoć oko kontrole tablice21.11.2006. u 13:25 - pre 211 meseci
Najbolje resenje za prost kljuc je kao sto negyxo rece da bude AutoIncrement ili nesto slicno, ako nije moguce imas i sledece resenje:

izvrsis upit
SELECT PK WHERE PK = PK_Koji_Zelis_Da_Upises

ako ti je set koji se vrati prilikom upita prazan, upisujes nov zapis sa kljucem PK_Koji_Zelis_Da_Upises, a ako nije prazan ispisujes neku poruku o gresci ili generises novi PK ili pak nesto trece.
Idemo dalje
 
Odgovor na temu

[es] :: .NET :: Pomoć oko kontrole tablice

[ Pregleda: 1966 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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