Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 2.486 pregleda

Najnovija ↓

Kako drugacije uraditi 07.09.2011. u 14:54 · pre 184 meseca #1
Trebam iz baze, iz jednog columna uzeti vremensku vrijednost. Uporediti je sa danasnjim datumom. Ako je ta vrijednost prosla, onda upisati broj 0 u poseban column, ako nije prosla onda upisujem 1. Sve to treba ponovo upisati u bazu.

Napravio sam kod koji to radi. Vas pitam za savjet da li je to po vama ok, ili ima mjesta za optimizaciju.

Code:


try
            {

                foreach (DataRow row in dTable.AsEnumerable())
                {
                    string red = row["clando"].ToString();
                    DateTime vrijemeClanstva = DateTime.Parse(red);

                    if (DateTime.Compare(DateTime.Now, vrijemeClanstva) < 0)
                    {
                        row["aktivan"] = 1;
                        // pisi u bazu broj jedan
                    }

                    else
                    {
                        //pisi u bazu broj nula
                        row["aktivan"] = 0;
                    }
                }
            }
            catch (Exception a)
            {               
            
            }

            dAdapter.Update(dTable);

Potpis

[IMG]http://img233.imageshack.us/img233/5078/thumbnailte1.th.jpg[/IMG]


They say I look like daddy :D
Re: Kako drugacije uraditi 09.09.2011. u 18:29 · pre 184 meseca #2
Zasto podatak prvo pretvaras u string pa parsiras nazad u DateTime?
Ne moras koristiti DateTime.Compare(), mozes samo porediti datume sa manje/vece.
Za ovo bi ti mogla biti bolja stored procedura koju ces samo pozvati, da ne dovlacis podatke i vracas ih.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Kako drugacije uraditi 12.09.2011. u 12:30 · pre 184 meseca #4
zasto prevlaciti podatke, kad to moze sql da odradi...

Code:

update tabela set aktivan=0 where clando <getdate()


btw, tebi i ne treba ova kolona aktivan, vec u svim upitima samo proveravaj u uslovu da li je clando manji od trenutnog datuma.

Mozes i view napravis gde bi izracunavao kolonu aktivan( nesto tipa: select ..., case clando<getdate() then 1 else 0 end as activan from tabela )
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme