Prvodnevni dogadjaj aplikacije

Kao prvo nisam siguran da li je ovo pitanje za asp.net ili sql forum.
Želio bi da se svaki dan izvrši jedna promjena u bazi podataka, odnosno izvrši ugrađena procedura.

Napravit ću tablicu koja će sadržavati polja datum i koje će se mijenjati, u slučaju da se razlikuje od današnjeg datuma, u današnji datum. Također ću napisat kod unutar Session_Start događaja koji će uspoređivati današnji datum s datumom u toj tablici i u slučaju da se oni razlikuju pokrenuti će ugrađenu proceduru + izmjeniti datum u tablici u današnji datum kako se ugrađena procedura tog datuma više nebi izvršavala.

Sve ovo već funkcionira u čistom asp-u i accessu :slight_smile: pa će zasigurno i u asp.net i MSSQL-u, ali me muči što se to uspoređivanje datuma (konekcija na bazu) izvršava svaki put kad novi korisnik zatraži neku stranicu. POSTOJI LI NEKI DOGAĐAJ APLIKACIJE KOJI SE POKREĆE SA PROMJENOM DATUMA, ILI NEŠTO SLIČNO U MSSQL-U? Možda bi Tajmer tu pomogao ili bi to bilo još gore rješenje?

Što točno želiš izvesti?

Jasno je da želiš imati neki podatak u određenoj tablici i to samo jednom i to odmah na početku toga dana. Vjerujem kako taj podatak u toj tablici nije sam sebi svrha nego postoji nešto više pa me zanima što je to.

To opet pitam jer sam slagao 10-ak vrlo različitih sajtića i nisam naletio na takvu potrebu.

[quote=“trnac”]Što točno želiš izvesti?

Jasno je da želiš imati neki podatak u određenoj tablici i to samo jednom i to odmah na početku toga dana. Vjerujem kako taj podatak u toj tablici nije sam sebi svrha nego postoji nešto više pa me zanima što je to.

To opet pitam jer sam slagao 10-ak vrlo različitih sajtića i nisam naletio na takvu potrebu.[/quote]

Želim da se svakodnevno promjeni redni broj svakog sloga, retka.

Dakle imam u tablici jedno polje “Redni broj” i to je polje po kojem sortiram prikazivanje privatnog smještaja na više stranica, kako ne bi uvjek isti bili na prvim pozicijama. Najveći redni broj poprima vrijednost “1”, a svi ostali za 1 više nego što su ga imali… Ta promjena rednog broja svih slogova tablice treba da se odradi samo jednom u 24 sata.

Mogu ti reći da to što želiš izvesti s korisničke strane nije baš najbolje.
Korisnik nađe nešto i onda kada se vrati to više ne može naći jer si promjenio redoslijed? Pa nije baš nešto.

Ostali rade tako da se oglasi prikazuju po redoslijedu unosa, noviji naprijed.
Naravno, uključiš malo marketinga i počneš naplaćivati fiksnu 1,2,3,… poziciju…

Jasno mi je da to sa korisničke strane izgleda zbunjujuće, ali opet iskustvo je pokazalo drugačije.

Smještaja ima stotinjak i dok nisam mijenjao pozicije, upite su dobivali cca prvih 50-ak proporcionalno poziciji. Sad svatko dobije ponešto upita i većina je zadovoljna.
Gledajući to s korisničke strane opet je bolje jer većina želi smještaj u centru sezone a te termine početne pozicije brzo rezerviraju i tada iznajmljivači šalju negativan odgovor, a najčešće uopće ne odgovaraju i to odvraća korisnika od traženja smještaja preko interneta.

No, udaljismo se mi od biti… :slight_smile:

dobro ili ne, ne ulazim u to, uglavnom možeš to napraviti, po meni najbolje pošto ne moraš više na ništa misliti je
da pukneš timera u global.asax u Application_Start()

tcb=
Timer t = new Timer(PomakniRedniBroj,null,0,1000*60*60*24);

PomakniRedniBroj je funkcija koja izvršava ono tvoje i treba primati 1 parametar object
(TimerCallback delegat)…
uostalom, najbolje ćeš to vidjet tu :slight_smile:

http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx

Svakako ja to ne bi radio sa promjenom necega u bazi svakog dana, nego bi racunao pozicije i nacin sortiranja prema datumu, odnosno danu u mjesecu! Timer isto nije siguran, pri gasenju aplikacije on ce se zaustaviti, do prvog sljedeceg posjeta koji ce pokrenuti aplikaciju.
Ovo da se svaki dan pokrece neka procedura ili stovec, nije siguran nacin, tesko je izvedivo, moraju se raditi razni trikovi, i logika odabira pozicije ne bi smjela ovisiti o pokrenutoj proceduri i nekom rednom broju u bazi.

Trebalo bi napraviti algoritam koji gleda dan u mjesecu, ili broj pokazivanja određenog apartmana, ili mozda cak i zakup pozicije, i onda na posloziti listu.

Mozda bi bilo najjednostavnije zapisivati broj prikaza, i paziti da se svi apartmani pokazuju priblizan broj puta.

Da, ovo je odlična ideja s time da se u algoritam uzme u obzir pozicija prikaza.

Npr. prva pozicija je 1, druga je 0,9, treća 0,7 i sl.

Socijalizam na djelu :slight_smile:

[quote=“trnac”]
Socijalizam na djelu :)[/quote]

Mozda ima neka formula u Marxovom Das Kapital-u ili komunističkom manifestu :slight_smile:

S Timerom sam imao problema pa sam lako odustao nakon hudove opaske, a kapital i manifest sam prevrtio i nigdje formule :slight_smile: Uostalom ovako su izjednačeni buržoazija i proletarijat. Za istu cijenu isti broj dana na svim pozicijama:

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
        Dim isDatumRazlicit As Boolean
        isDatumRazlicit = privateAccommodation.provjeraDatumaPromjene() 'provjerava razliku današnjeg datuma sa datumom zadnje promjene Rednog Broja
        If isDatumRazlicit = True Then privateAccommodation.promjenaRednogBroja()'povećava Redni broj za 3 a zadnja tri postaju 1,2,3
    End Sub

Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja