• 02-02-2014, 23:35:13
    #1
    Üyeliği durduruldu
    Sorunum şu metin2 database sindeki shop_deneme diye bir tablo yapım var.

    tablo da auto inc içeren herhangi bir id vs yok. Mesela aynı shop_vnum dan 10-15 girdi olabiliyor.Sadece 3 sütundan oluşuyor. Shop_vnum,item_vnum,count şeklinde.
    data gride bilgileri çektiriyorum. insert ve delete komutlarını sorunsuz kullanabiliyorum ama ne yaptıysam update komutunu geçiremedim..

    Kod satırı aşağıda yardımlarınızı bekliyorum şimdiden teşekkürler

    private void button16_Click(object sender, EventArgs e)
            {
                try
                {
                    BindingSource bs1 = new BindingSource();
                    table1 = new DataTable();
                    bs1.DataSource = table1;
                    this.dataGridView2.DataSource = bs1;
    
                    MySqlConnection conn1 = new MySqlConnection(ThePRNCE.Form1.cs);
                    conn1.Open();
    
                    string s1 = "select *from player.shop_deneme";
                    MySqlCommand cmd1 = new MySqlCommand(s1, conn1);
    
                    da1 = new MySqlDataAdapter();
                    da1.SelectCommand = new MySqlCommand(s1, conn1);
    
                    //There is issue in below sytax of insert command.
                    MySqlCommand insertcommand1 = new MySqlCommand("insert into player.shop_deneme(shop_vnum,item_vnum,count) values(@shop_vnum, @item_vnum, count)", conn1);
                    insertcommand1.Parameters.Add("@shop_vnum", MySqlDbType.Int32, 50, "shop_vnum");
                    insertcommand1.Parameters.Add("@item_vnum", MySqlDbType.Int32, 50, "item_vnum");
                    insertcommand1.Parameters.Add("@count", MySqlDbType.Int32, 50, "count");
                    da1.InsertCommand = insertcommand1;
    
                    MySqlCommand updatecommand1 = new MySqlCommand("update player.shop_deneme set shop_vnum=@shop_vnum,item_vnum=@item_vnum,count=@count where (shop_vnum=@shop_vnum) and (item_vnum=@item_vnum) and (count=@count)", conn1);
                    updatecommand1.Parameters.Add("@shop_vnum", MySqlDbType.Int32, 50, "shop_vnum");
                    updatecommand1.Parameters.Add("@item_vnum", MySqlDbType.Int32, 50, "item_vnum");
                    updatecommand1.Parameters.Add("@count", MySqlDbType.Int32, 50, "count");
                    da1.UpdateCommand = updatecommand1;
    
                    MySqlCommand deletecommand1 = new MySqlCommand("delete from player.shop_deneme where shop_vnum=@shop_vnum and item_vnum=@item_vnum", conn1);
                    deletecommand1.Parameters.Add("@shop_vnum", MySqlDbType.Int32, 50, "shop_vnum");
                    deletecommand1.Parameters.Add("@item_vnum", MySqlDbType.Int32, 50, "item_vnum");
                    da1.DeleteCommand = deletecommand1;
    
                    da1.Fill(table1);
                    conn1.Close();
    
    
                }
                catch (Exception err) { MessageBox.Show(err.Message); } 
            }
    
            private void button13_Click_1(object sender, EventArgs e)
            {
                da1.Update(table1);
            }
  • 02-02-2014, 23:45:22
    #2
    çok sakat bir kod yapın var,

    mesela button 16 ya iki kere bastığında

    updatecommand1 nesnesine ve diğerlerine aynı parametreler tekrar işleniyor, parametreleri clear yapman gerek ilk başta..

    update sorgundan bir elemanın gelip gelmediğini test etmelisin önce.. aynı şartları (where de yazdığın şeyleri), bir select sorgusunda yazarak test eder misin? eğer veri gelmiyorsa şartını kontrol et..

    eğer geliyorsa şu yapını bi değiştir. commandbuilder nesnesini kullan..
    ama ondan önce

    update i çağırdıktan sonra dataadapter in (da1 yazmışsın) acceptchanges metodunu çağırıp dene bakalım
  • 03-02-2014, 00:29:11
    #3
    Üyeliği durduruldu
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    çok sakat bir kod yapın var,

    mesela button 16 ya iki kere bastığında

    updatecommand1 nesnesine ve diğerlerine aynı parametreler tekrar işleniyor, parametreleri clear yapman gerek ilk başta..

    update sorgundan bir elemanın gelip gelmediğini test etmelisin önce.. aynı şartları (where de yazdığın şeyleri), bir select sorgusunda yazarak test eder misin? eğer veri gelmiyorsa şartını kontrol et..

    eğer geliyorsa şu yapını bi değiştir. commandbuilder nesnesini kullan..
    ama ondan önce

    update i çağırdıktan sonra dataadapter in (da1 yazmışsın) acceptchanges metodunu çağırıp dene bakalım
    command builder ile nasıl yapabilirim bu sistemi basite indirgeyip sağlam birşekilde mysqle kayıt ettirmek istiyorum yapabiliyorsak select delete ve update hepsini aynı şekilde farklı bir komut ile yapmak istiyorum
  • 03-02-2014, 00:46:35
    #4
    internetten bir sürü döküman bulabilirsin, yerli yabancı.. sql server için daha fazladır, öncelikle onda uygulayıp sonra mysql de kullanabilirsin. çünkü ikisinin yapısı da nerdeyse birbirine benziyor (ado .net çatısında)
    kolay gelsin
  • 03-02-2014, 17:26:35
    #5
    Üyeliği durduruldu
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    internetten bir sürü döküman bulabilirsin, yerli yabancı.. sql server için daha fazladır, öncelikle onda uygulayıp sonra mysql de kullanabilirsin. çünkü ikisinin yapısı da nerdeyse birbirine benziyor (ado .net çatısında)
    kolay gelsin

    Çok teşekkürler farklı bir yöntemle sorunumu çözdüm