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

Jel sam ja lud ili... [ASP.NET i korišćenje sleep-a]

[es] :: .NET :: ASP.NET :: Jel sam ja lud ili... [ASP.NET i korišćenje sleep-a]

[ Pregleda: 2249 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

toxi_programer
Nemanja Todić
Beograd

Član broj: 104396
Poruke: 464
*.adsl-4.sezampro.yu.

Sajt: www.articles411.com


+8 Profil

icon Jel sam ja lud ili... [ASP.NET i korišćenje sleep-a]21.02.2008. u 21:05 - pre 196 meseci
Pozdrav uvaženi članovi ES foruma.

Pravim ASP.NET aplikaciju. Naišao sam već dva puta na jedan čudan problem, pokušaću da ga izložim što jednostavnije.

Postoji GridView, textbox i dugme. Klikom na dugme se u tabelu( čije redove prikazuje GridView) doda novi red sa vrednošću koja je bila u textbox-u. Zatim, pozovem this.DataBind();
Dakle, pokušavam da dodam novi red i prikažem novododati red u GridView-u. Ovo, naravno, ne funkcioniše kako treba( neće biti prikazan i novi red).

Pokušao sam da problem rešim tako što ću staviti Thread.Sleep( 1000) pre this.DataBind() i - rešio problem. Ali, zašto je ovo pomoglo? Zar se operacija this.DataBind() neće izvršiti tek pošto bude završeno izvršavanje INSERT komande?

Imam VS 2008.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Jel sam ja lud ili... [ASP.NET i korišćenje sleep-a]22.02.2008. u 17:32 - pre 196 meseci
Zvuci sasavo. Daj kod za taj event handler za button click.

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

toxi_programer
Nemanja Todić
Beograd

Član broj: 104396
Poruke: 464
*.adsl-4.sezampro.yu.

Sajt: www.articles411.com


+8 Profil

icon Re: Jel sam ja lud ili... [ASP.NET i korišćenje sleep-a]22.02.2008. u 20:06 - pre 196 meseci
Da... Evo ga kod:
Code:

    protected void btnDodajFrazu_Click(object sender, EventArgs e)
    {
        Korisnik k = new Korisnik(this);
        string sqlInsert = "INSERT INTO Fraze( KorisnikId, TextFraze) VALUES(" +
            k.Id.ToString() + ",'" + txtNovaFraza.Text.ToLower() + "')";
        BazaPodataka.IzvrsiNaredbu(sqlInsert); //komentar 1
        System.Threading.Thread.Sleep(1000);
        lblMsg.Text = "Nova fraza \"" + txtNovaFraza.Text.ToLower() + "\" je uspešno dodata."; 
        this.DataBind();
    }


#komentar 1:
BazaPodataka je klasa, a static funkcija IzvrsiNaredbu napravi OleDbCommand od proslednjenog string, konektuje se na bazu, izvrši upit i zatvori konekciju. Baza je Access( iliti Jet, jelte...).

Ako izostavim sleep() f-ju, novododati red se ne prikazuje, a poruka u lblMsg se uredno prikaže. Probao sam da izbacim sleep(), i na njegovo mesto postavim breakpoint i pokrenem debug. I radi lepo, jer kad dođe do breakpointa izvršavanje se zaustavi dok ga ja ne nastavim...

 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Jel sam ja lud ili... [ASP.NET i korišćenje sleep-a]22.02.2008. u 20:36 - pre 196 meseci
Citat:
toxi_programer: BazaPodataka je klasa, a static funkcija IzvrsiNaredbu napravi OleDbCommand od proslednjenog string, konektuje se na bazu, izvrši upit i zatvori konekciju. Baza je Access( iliti Jet, jelte...).


Ok, pozitivan pomak, greska (ako se tako moze) nazvati je u raskoraku izmedj insert komande i selecta koji radis u DataBind() (pretpostavljam da ga tu radis), iz nekog razloga command se izvrsio ali red jos nije commited u access bazu, shodno tome select je ne vidi, kad mu das sleep ti u stvari ne modifikujes .NET sekvencu izvrsavanja (oledbcommand je vec odradio svoje), jednostavno dajes fore access-u da smesti red u tabelu. Medjutim to je generalno lose, a uzrok je verovatno u konfiguraciji connection i command objekta.
Ajd sad daj samo taj kod za IzvrsiNaredbu metod i koji ti je connection string, negde tu se krije uzrok ovom ponasanju.
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

toxi_programer
Nemanja Todić
Beograd

Član broj: 104396
Poruke: 464
*.adsl-4.sezampro.yu.

Sajt: www.articles411.com


+8 Profil

icon Re: Jel sam ja lud ili... [ASP.NET i korišćenje sleep-a]22.02.2008. u 20:40 - pre 196 meseci
Aha, evo i ga i kod koji radi sa bazom:

Code:

...
    private static OleDbConnection KonektujSe()
    {
        OleDbConnection oleConn = new OleDbConnection();

        string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + lokacijaBaze +
            ";Jet OLEDB:Database Password='" + sifra + "'";
        oleConn.ConnectionString = strCon;

        oleConn.Open();
        return oleConn;
    }

    public static int IzvrsiNaredbu(string sqlNaredba)
    {
        OleDbCommand oleCmd = new OleDbCommand(sqlNaredba);
        return IzvrsiNaredbu(oleCmd);
    }

    public static int IzvrsiNaredbu(OleDbCommand sqlNaredba)
    {
        sqlNaredba.Connection = KonektujSe();
        int ret = sqlNaredba.ExecuteNonQuery();
        sqlNaredba.Connection.Close();  
        return ret;
    }

...

 
Odgovor na temu

toxi_programer
Nemanja Todić
Beograd

Član broj: 104396
Poruke: 464
*.adsl-4.sezampro.yu.

Sajt: www.articles411.com


+8 Profil

icon Re: Jel sam ja lud ili... [ASP.NET i korišćenje sleep-a]22.02.2008. u 20:48 - pre 196 meseci
Biće da sam ja lud.

Nisam bio zatvorio konekciju, a evo sada sam ispravio kod i izgleda da radi kako treba. Ali nisam još probao kako treba...
 
Odgovor na temu

[es] :: .NET :: ASP.NET :: Jel sam ja lud ili... [ASP.NET i korišćenje sleep-a]

[ Pregleda: 2249 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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