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

Problem sa update-om tabele

[es] :: .NET :: Problem sa update-om tabele

[ Pregleda: 2404 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

VerbatimBOT
Aleksandar Dragosavac
Senior .NET Developer

Član broj: 84129
Poruke: 228
*.kalik.info.



Profil

icon Problem sa update-om tabele13.08.2006. u 15:22 - pre 215 meseci
Dakle ovako, imam sledecu stranu

i neki problem pri ažuriranju postojeceg zapisa u tabeli.
Kada kliknem na link "izmena" u DataGridu, podaci za taj zapis se citaju iz tabele i postavljaju u kontrole (TextBox ispod kalendara, TextBox za srpski i engleski). Dugme "Unos" menja svoj tekst u "Ažuriraj", a sve se odigrava tako što se pri kliku na "izmena" radi Response.Redirect("ista_strana.aspx?mode=edit&id=ID_ZAPISA").
Pri kliku na dugme "Ažuriraj", provera se da li je mode "edit" i ako jeste, umesto INSERT, radi se UPDATE, što je definisano sledecim kodom:
Code:

If (Request("mode") = "edit") Then
            komanda.CommandText = "update s_dayHistory set Date = @date, srText = @srText, enText = @enText where ID = @id"
            Dim pId As New SqlParameter("@id", SqlDbType.BigInt)
            pId.Value = Int32.Parse(Request("id").ToString())
            komanda.Parameters.Add(pId)
            Dim p1 As New SqlParameter("@date", SqlDbType.SmallDateTime)
            p1.Value = DateTime.Parse(txtIzabraniDatum.Text)
            'p1.Value = DateTime.Parse(txtEngleski.Text.Substring(0, 9))
            komanda.Parameters.Add(p1)
        Else
            If (Request("mode") = "default") Then
                komanda.CommandText = "insert into s_dayHistory(Date, srText, enText) 

values(@date, @srText, @enText)"
            End If
        End If
    Dim p2 As New SqlParameter("@srText", SqlDbType.NVarChar, 500)
        Dim p3 As New SqlParameter("@enText", SqlDbType.NVarChar, 500)
        p2.Value = txtSrpski.Text
        p3.Value = txtEngleski.Text
        komanda.Parameters.Add(p2)
        komanda.Parameters.Add(p3)

Kasnije se normalno nastavlja kod
Code:

Try
            If (konekcija.State = ConnectionState.Closed) Then
                konekcija.Open()
            End If
            komanda.Prepare()
            komanda.ExecuteNonQuery()
            konekcija.Close()
        Catch ex As Exception
            Response.Write("Greska: " & ex.Message)
            Return
        End Try

Problem je što on sve ovo prodje bez greške, ali naravno ne uradi update. Ja sumnjam na to da format datuma nije isti (u SQL Server bazi i na nivou aplikacije radjene u VS2003), ali nemam rešenje.
Winners never quit, quitters never win.
 
Odgovor na temu

sivan347
.NET Programer
Beograd

Član broj: 84406
Poruke: 101
*.fiberop.matgnet.com.



Profil

icon Re: Problem sa update-om tabele14.08.2006. u 09:24 - pre 215 meseci
Posto ti ne izbacuje gresku moras da debug-ujes kod da vidis tacno gde se sta poziva i vrednosti promenljivih. Ako sumnjas na datum nemoj koristiti SmallDateTime nego DateTime i format datuma koji prolazi u MSSQL bazi je mesec.dan.godina (mm.DD.yyyy).
 
Odgovor na temu

VerbatimBOT
Aleksandar Dragosavac
Senior .NET Developer

Član broj: 84129
Poruke: 228
217.24.18.*



Profil

icon Re: Problem sa update-om tabele14.08.2006. u 10:59 - pre 215 meseci
Promenio sam tip podatka u DateTime i opet ne radi.
Najveća fora je u tome što mi pri debugovanju ne prijavljuje nikakvu grešku, uredno setuje vrednosti parametara na željene vrednosti, ali jednostavno NE RADI UPDATE !!!
Aaaaaaaaaaaaaaaah !!!
Winners never quit, quitters never win.
 
Odgovor na temu

spartak

Član broj: 5625
Poruke: 631
*.ptt.yu.



+3 Profil

icon Re: Problem sa update-om tabele15.08.2006. u 09:35 - pre 215 meseci
Ajde upali Profiler (sql server) pa uhvati taj update da li se uopste okida nad bazom, i ako da koje vrednosti salje. Nisam se sad koncentrisao na tvoj kod, ali prva ideja bi mi bila da proverim da ne pokupi ponovo stare vrednosti pa njih posalje kao params.

Vidi u profiler da li do baze stizu vrednosti pa ces onda znati sta dalje da gledas.
 
Odgovor na temu

logic_rabbit
Radenko Zec
banjaluka

Član broj: 74458
Poruke: 271
*.lanaco.com.



+1 Profil

icon Re: Problem sa update-om tabele15.08.2006. u 10:23 - pre 215 meseci
Vidi na kraju kako izgleda taj zavrsni SQl koga izvrsavas,kopiraj ga u query analyzer i probaj izvrsiti.Onda ces znati na cemu si.
logic_rabbit (MCAD,MCSD,MCT,MCTS-
Windows development,MCPD)
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Problem sa update-om tabele15.08.2006. u 14:05 - pre 215 meseci
Hmm, jeste da je glupo pitanje, ali da li si siguran da u tabeli postoji zapis ciji je ID = ID_ZAPISA? Pretpostavljam da ima posto ucitas stare vrednosti, al morao sam da pitam

Drugo, probaj da parametar @ID prosledis kao Int, ne BigInt, nesto mi govori da ti kljuc u toj tabeli nije 64bitni integer...

Trece, imas bug nevezan za tvoje pitanje, ako je mode=default kreiraces INSERT komandu koja koristi parametar @date, ali neces proslediti taj parametar u komandu.

Btw, mali saveti, ako unutar ELSE segmenta imas samo drugi IF, bolje iskombinuj u ELSE IF, generisace manje MSIL koda. I ubaci finally konstrukciju koja zatvara konekciju ako je otvorena, kako stvari sad stoje ako ExecuteNonQuery pukne ostace ti otvorena konekcija.









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

VerbatimBOT
Aleksandar Dragosavac
Senior .NET Developer

Član broj: 84129
Poruke: 228
217.24.18.*



Profil

icon Re: Problem sa update-om tabele15.08.2006. u 14:23 - pre 215 meseci
Citat:
mmix: da li si siguran da u tabeli postoji zapis ciji je ID = ID_ZAPISA? Pretpostavljam da ima posto ucitas stare vrednosti, al morao sam da pitam :)


Da bre! :)
Nije do parametra, postavim direktno da proverava sa Request("ID") i opet nece!

Trece, imas bug nevezan za tvoje pitanje, ako je mode=default kreiraces INSERT komandu koja koristi parametar @date, ali neces proslediti taj parametar u komandu.

Ovo cu pogledati!

Btw, mali saveti, ako unutar ELSE segmenta imas samo drugi IF, bolje iskombinuj u ELSE IF, generisace manje MSIL koda. I ubaci finally konstrukciju koja zatvara konekciju ako je otvorena, kako stvari sad stoje ako ExecuteNonQuery pukne ostace ti otvorena konekcija.

Nemam vremena sad da radim, javljam ako naidjem na gresku i kad testiram vase predloge.
Winners never quit, quitters never win.
 
Odgovor na temu

VerbatimBOT
Aleksandar Dragosavac
Senior .NET Developer

Član broj: 84129
Poruke: 228
*.co.yu
Via: [es] mailing liste



Profil

icon Re: Problem sa update-om tabele17.08.2006. u 19:15 - pre 215 meseci
Code:
Btw, mali saveti, ako unutar ELSE segmenta imas samo drugi IF, bolje iskombinuj u ELSE IF, generisace manje MSIL koda. I ubaci finally konstrukciju koja zatvara konekciju ako je otvorena, kako stvari sad stoje ako ExecuteNonQuery pukne ostace ti otvorena konekcija.

Jbg, tek sam na početku za VB.NET, jer sam počeo da ga koristim pre dve nedelje (jer moram), inače bi ja to sve ispeglao u C#.
Winners never quit, quitters never win.
 
Odgovor na temu

[es] :: .NET :: Problem sa update-om tabele

[ Pregleda: 2404 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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