[ zenmorke @ 22.03.2008. 00:02 ] @
Problem je sa brisanjem redova iz tabele, kao i sa unosom. Kada debagujem uzima odgovarajuce vrednosti i prodje kroz kod bez izuzetka. Ali ipak ne obrise, ni ne unese podatak.
Ovo je kod iz klase

Code:

        public int DeleteKategorija(int kategorijaID)
        {
            Proxy proxy = new Proxy();
            string cmdTex = " DELETE FROM Kategorija"
                          + " WHERE KategorijaID = @KategorijaID";
            SqlCommand cmd = new SqlCommand(cmdTex, proxy.Connection);
            cmd.Parameters.AddWithValue("KategorijaID", kategorijaID);

            proxy.OpenConnection();

            try
            {
                return Convert.ToInt32(cmd.ExecuteScalar());
            }
            catch
            {
                throw;
            }
            finally
            {
                proxy.Connection.Close();
            }
        }





KOD SA FORME

Code:

       private void btnObrisii_Click(object sender, EventArgs e)
        {
            try
            {
                if (MessageBox.Show("Da li ste sigurni da zelite da izbrisete kategoriju?", "Pitanje", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                {
                    TCSqlProvider SQLProvider = new TCSqlProvider();
                    SQLProvider.DeleteKategorija(Convert.ToInt32(listBox1.SelectedValue));
                }
            }
            catch
            {
                MessageBox.Show("Greska");
            }

            
        }


hvala unapred i svaka pomoc je dobrodosla


EDIT: Ako su vam potrebne jos neke informacije, recite sta, odgovoricu.


[Ovu poruku je menjao zenmorke dana 22.03.2008. u 01:12 GMT+1]

[Ovu poruku je menjao zenmorke dana 22.03.2008. u 14:36 GMT+1]
[ Predrag Glumac @ 22.03.2008. 05:22 ] @
Code:
cmd.Parameters.AddWithValue("@KategorijaID", kategorijaID);

Citat:
EDIT: Ako su vam potrebne jos neke informacije, recite sta, odgovoricemo.

Persiras samom sebi ?

[ zenmorke @ 22.03.2008. 05:47 ] @
Citat:

Persiras samom sebi ?


Ne persiram sam sebi nisam tolika budala nego se obracam ljudima. Da nemas mozda neko resenje za mene ????
Sto si prekopirao ovu liniju koda ?
[ deerbeer @ 22.03.2008. 09:47 ] @
Nije ti prekopirao kod vec pogledaj malo bolje
Code:

cmd.Parameters.AddWithValue("@KategorijaID", kategorijaID);


tvoj kod :
Code:
 
cmd.Parameters.AddWithValue("KategorijaID", kategorijaID);


tako da tvoj delete ne odradi nista jer si stavio parametar KategorijaID umesto @KategorijaID
[ aleksandarpopov @ 22.03.2008. 10:21 ] @
Zasto DELETE sql izvrsavas sa ExecuteScalar? Imas ExecuteNonQuery za DML sql-ove.
[ zenmorke @ 22.03.2008. 13:34 ] @
Code:

cmd.Parameters.AddWithValue("@KategorijaID", kategorijaID);


Dodao sam posle @ ali opet nece da odradi sta treba,kazem,prodjem kroz ceo kod,pratim promenljive uzimaju dobre vrednost i sve se to izvrsi npr kad obrisem kategoriju ukloni se sa listbox-a;ugasim pa upalim formu ona i dalje tu,znaci da se u bazi nista nije desilo?

Probao sam i sa ExexcuteNonQuery() i isto se desi...
[ deerbeer @ 22.03.2008. 14:00 ] @
a da li si probao da tu komandu izvrsis na samomj bazi ...
Trace-uj kod i uzmi parce upita :
Code:

string cmdTex = " DELETE FROM Kategorija"
                          + " WHERE KategorijaID = @KategorijaID";

i izvrsi ga na bazi naravno sa ID-ijem kategorije ...
ExecuteNonQuery bi trebao da ti vrati "rows affected" tj . broj obrisanih redova .
ako radis sa MSSQL serverom imas komandu SET NOCOUNT OFF
[ zenmorke @ 22.03.2008. 14:34 ] @
Radi na serveru...mozda bi trebalo da napisem stored proceduru,da li bi to pomoglo???
Skroz je cudno,sve se izvrsi bez izuzteka ali i dalje nema promene u bazi....

[Ovu poruku je menjao zenmorke dana 22.03.2008. u 15:51 GMT+1]
[ deerbeer @ 22.03.2008. 14:59 ] @
Ne verujem da ce ti stored proc zavrsiti posao .. jer se opet svodi na isto ...
Pogledaj malo bolje tvoj kod na formi , mozda u listbox-u ponovo vuces iste podatke iz nekog dataset-a ili datatable-a
koji posle delete-a nije azuriran.
[ zenmorke @ 22.03.2008. 15:15 ] @
cekaj,pa vidim u tabeli npr.dal je obrisan zapis ili da li sam ubacio novi red,znaci nije to...
imam ovaj kod na formi u load-u
Code:

       private void frmKreirajKategoriju_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'tcDataSet1.Kategorija' table. You can move, or remove it, as needed.
            this.kategorijaTableAdapter.Fill(this.tcDataSet1.Kategorija);
            DozvoliIzmene(true);
            Helpers.FillListKategorija(listBox1, false);
        }

a ovo je metoda
Code:

        static public void FillListKategorija(ListControl lctrl, bool addNullValue)
        {
            TCSqlProvider sqlProvider = new TCSqlProvider();
            DataTable dtSource = sqlProvider.GetAllKategorija();
            //DataRow dr = dtSource.Rows[0]
            fillListControl(lctrl, dtSource, "Naziv", "KategorijaId", addNullValue);
        }

[ Predrag Glumac @ 22.03.2008. 15:35 ] @
Bash cudno, moguce da je problem u tipu parametra. Da probas sa:
Code:
 cmd.Parameters.Add("@KategorijaID", SqlDbType.Int).Value = kategorijaID;
jer mi se cini da mu ne prosledjuje ispravan kategorijaID.
[ deerbeer @ 22.03.2008. 15:58 ] @
Hmm ..bas cudno i meni ... nesto mi sad pade napamet
da li si probao :
Code:

SqlCommand cmd = new SqlCommand(cmdTex, proxy.Connection);
cmd.CommandType = CommandType.Text;
SqlParameter kategorijaID = new SqlParameter("@KategorijaID",SqlDbType.Int) ; 
kategorijaID.Direction = ParameterDirection.Input ; 
kategorijaID.Value = id ; 
cmd.Parameters.Add(kategoirijaID) ; 

//pa onda 
cmd.ExecuteNonQueryr(); 




[Ovu poruku je menjao deerbeer dana 22.03.2008. u 17:09 GMT+1]

[Ovu poruku je menjao deerbeer dana 22.03.2008. u 17:33 GMT+1]
[ zenmorke @ 22.03.2008. 16:03 ] @
@Predrag Glumac & @deerbear > Probao sam sa tvojom linijom koda, isto reaguje. Koliko sam video vraca dobru vredost. Ne znam sta je vise stvarno, ponestalo mi je ideja i stvarno mi je frka, ne mogu da nastavim da radim dalje. Jel bi ti mogao da pogledas aplikaciju kod sebe, ako imas vremena ostavicu ti ja moj mail, nesto mi posalji pa cu ja replay.
[ deerbeer @ 22.03.2008. 16:21 ] @
Pogledaj moj prethodni izmenjen post ..
Nisam dugo radio sa ADO.NET-om al zato postoji msdn
http://msdn2.microsoft.com/en-us/library/yy6y35y8.aspx

[ zenmorke @ 22.03.2008. 17:11 ] @
@ Deerbeer> Probao i isto,ne vredi,idem sve iz pocetka,ljudi vama hvala na pomoci,super ste.To sam ja napravio neku glupost sigurno kouju ne opazam jer sam prsohvala vam jos jednom!