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

Problem oko brisanja podatka iz baze Access?

[es] :: .NET :: Problem oko brisanja podatka iz baze Access?

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Bojan11
Pula,HR

Član broj: 73881
Poruke: 180
*.adsl.net.t-com.hr.



Profil

icon Problem oko brisanja podatka iz baze Access?08.06.2006. u 15:35 - pre 216 meseci
Pomozite ljudi nikako da riješi ovaj problem,
trebao bi napraviti bazu (Access) u kojoj će se vrtjet 10000 podataka, znači kad uđe 10001 da se 10000 izbriše, kako da to napravim ??
Pokušao sam sa datasetom ali je to previše podataka pa ga adapter u jednoj operaciji ne uspije napuniti provjeriti dali ima u njemu 10000 pod. i ako je narasao za jedan da ga obriše...
Mislim da bi bilo bolje to riješit sa Command-om ,

Code:
     Dim kom1 As New System.Data.OleDb.OleDbCommand("SELECT COUNT(*) FROM DNTTransakcije", konekcija)


ali kako sa reći da ako je broj 10000 izbriši prvoga??
ili ima neko bolje rješenje?
HVALA puno
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: Problem oko brisanja podatka iz baze Access?08.06.2006. u 17:36 - pre 216 meseci
Treba ti ovaj SQL, moras da imas AutoNumber polje u tabeli (ovde je ID, ti verovatno imas vec neko drugo), ovime ce ti se transaction tabela ponasati kao FIFO i zadrzati samo 10000 najsvezijih transakcija (pozivas je nakon sto insertujes 10001 red.


Code:

delete from DNTTransakcije
where ID not in (SELECT TOP 10000 ID
FROM DNTTransakcije
order by ID desc);



Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Bojan11
Pula,HR

Član broj: 73881
Poruke: 180
*.adsl.net.t-com.hr.



Profil

icon Re: Problem oko brisanja podatka iz baze Access?08.06.2006. u 22:14 - pre 216 meseci
Hvala mmix,
imam još jedno pitanjce, kako riješiti problem ID-jeva, ako radim ovako sa brisanjem prvoga kad u bazu stigne 10001 onda če mi ID rasti u nedogled, znači oni če rasti, a ja ću one prve brisat....kako to rješavate? Dali se da izvest da ih nakon nekog vremena resetiram na počenu vrijednost da krenu od nule?
I do koliko mogu rasti...inače za ID imam posebnu kolonu u kojem je autonumber, nemogu neku već postojeću kolonu upotrijebit jer nemaaju jedinstvene podatke!
HVALA
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: Problem oko brisanja podatka iz baze Access?08.06.2006. u 22:57 - pre 216 meseci
Citat:
Bojan11: Hvala mmix,
Dali se da izvest da ih nakon nekog vremena resetiram na počenu vrijednost da krenu od nule?
I do koliko mogu rasti...inače za ID imam posebnu kolonu u kojem je autonumber, nemogu neku već postojeću kolonu upotrijebit jer nemaaju jedinstvene podatke!
HVALA


Iskreno ne resava se, sve zavisi od toga koliko ce redova ulaziti u bazu za lifetime aplikacije. Ako prelazi 2 milijarde onda AAutoNumber (Long) nije dovoljan :) i mora da se koristi neko drugo resenje, ali u praksi je to bas bas retko. Cak i ako uzmes u jednom trenutku i re-key sve redove da krenu od nula (mada sumnjam da access dozvoljava takvo nesto), autonumber polje ce i dalje imati svoj counter koji ne mozes promeniti. Alternativno, mozes da kreiras novu temp tabelu sa istim kolonama, iskorpiras svojih 10000 transakcija (onda ce IDevi krenuti od 1) i na kraju obrises staru tabelu a novu preimenujes u DNTTransakcije, ali ovo je sve manualno odrzavanje.

Ako vec imas Autonumber kolonu iskoristi nju u gornjoj skripti.

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Bojan11
Pula,HR

Član broj: 73881
Poruke: 180
*.adsl.net.t-com.hr.



Profil

icon Re: Problem oko brisanja podatka iz baze Access?09.06.2006. u 21:47 - pre 216 meseci
hvala
 
Odgovor na temu

VerbatimBOT
Aleksandar Dragosavac
Senior .NET Developer

Član broj: 84129
Poruke: 228
*.vdial.verat.net.



Profil

icon Re: Problem oko brisanja podatka iz baze Access?20.06.2006. u 01:24 - pre 216 meseci
Ovo sa privremenom tabelom bi moglo da se izvede ako se ne narušava referencijalni integritet. Jel ima neko alternativno rešenje ako se tako narušava?
Winners never quit, quitters never win.
 
Odgovor na temu

Shaggy
Miša Simić
Beograd

Član broj: 89502
Poruke: 29
*.maksnet.net.



Profil

icon Re: Problem oko brisanja podatka iz baze Access?21.06.2006. u 14:27 - pre 216 meseci
Posto vec postoji AutoID polje:

Dim kom1 As New System.Data.OleDb.OleDbCommand("SELECT COUNT(*) FROM DNTTransakcije", konekcija)
Dim n as Integer
n = kom1.ExecuteScalar()
If n = 1000 Then
Kom1.CommandText = "DELETE FROM DNTTransakcije Where AutoID = (SELECT MIN(AutoID) FROM DNTTransakcije)"
Kom1.ExecuteNonQuery()
ENd if



Misa Simic
MCSD .NET
 
Odgovor na temu

[es] :: .NET :: Problem oko brisanja podatka iz baze Access?

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

Postavi temu Odgovori

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