Şimdi Ara

c# gridviewde silme--acill

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
3.637
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar ödev olarak otomasyon programı yapmaya çalşıyrz...c# ile Acces veri tabanından bağlantıyı yaptık..Textbox lar ile veri kaydı yapıyoruz..Gridviewde bu kayıtları listeleyebiliyoruz..
    Ama 3 gündür uğraşıyorum kayıt silmeyi yapamıyorum....İster kodla ister gridviewe buton vs. ekleyerek bunu nasıl yapaniliriz...Çok acil yardımlarınızı bekliyorum



  • Gridview'in soluna bi seç butonu ekle. (Gridview'deki seçili satırı silmek için.)

    string x=Gridview1.Rows[e.Rowindex].cells[1].Text;

    Yukarıdaki kodla gridview'deki seçili satırın id'sini alırsın. (id gridview'de kaçıncı sıradaysa 1 yerine onu yazarsın).

    Sonrada delete sorgunu yazarsın. where kısmına id=x i yazarsın olur biter :)


    Bu arada yukarıdaki kod yanlış yazım olabilir. Sen yazarken bak :) Aklımdan yazdım. Zaten . ya basınca çıkan şeylerden görüp yaparsın :)

     c# gridviewde silme--acill


    Yukarıdaki gridview'de productid 16 olan kolonu seçersek

    string x=Gridview1.Rows[e.Rowindex].cells[1].Text; kodumuzda bu şekilde olursa x'imiz pavlova olur. cells[0] ise productid yani 16 olur.

    Ama sen sola seç butonu koyacağın için cells[0] seç olacak. cell[1] e id yi koyarsan id yi çekmiş olacaksın.

    id'de benzersiz olduğu için dbden sadece o kayıt silinir :)



    < Bu mesaj bu kişi tarafından değiştirildi netcore -- 25 Aralık 2011; 11:14:27 >




  • quote:

    Orijinalden alıntı: exe_genesis

    Gridview'in soluna bi seç butonu ekle. (Gridview'deki seçili satırı silmek için.)

    string x=Gridview1.Rows[e.Rowindex].cells[1].Text;

    Yukarıdaki kodla gridview'deki seçili satırın id'sini alırsın. (id gridview'de kaçıncı sıradaysa 1 yerine onu yazarsın).

    Sonrada delete sorgunu yazarsın. where kısmına id=x i yazarsın olur biter :)


    Bu arada yukarıdaki kod yanlış yazım olabilir. Sen yazarken bak :) Aklımdan yazdım. Zaten . ya basınca çıkan şeylerden görüp yaparsın :)

     c# gridviewde silme--acill


    Yukarıdaki gridview'de productid 16 olan kolonu seçersek

    string x=Gridview1.Rows[e.Rowindex].cells[1].Text; kodumuzda bu şekilde olursa x'imiz pavlova olur. cells[0] ise productid yani 16 olur.

    Ama sen sola seç butonu koyacağın için cells[0] seç olacak. cell[1] e id yi koyarsan id yi çekmiş olacaksın.

    id'de benzersiz olduğu için dbden sadece o kayıt silinir :)


    Bu bahsettiğiniz hem iyi bir yöntem değil hem güncel bir yöntem değil. Bunların yerine şu şekilde güncel bir kod yazabilrsin;

    HTML Markup
     
    <asp:GridView ID="grdTest" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" onrowcommand="grdTest_RowCommand">
    <Columns>
    <asp:BoundField DataField="Id" HeaderText="ID" Visible="False" />
    <asp:BoundField DataField="Ad" HeaderText="Ad" />
    <asp:BoundField DataField="Soyad" HeaderText="Soyad" />
    <asp:ButtonField CommandName="Sil" Text="Sil" />
    </Columns>
    </asp:GridView>


    CS Codes
     
    protected void Page_Load(object sender, EventArgs e)
    {
    if (Page.IsPostBack == false)
    {
    List<Data> dataList = new List<Data>();
    dataList.Add(new Data() { Id = 1, Ad = "Tolga", Soyad = "Aykurt" });
    dataList.Add(new Data() { Id = 2, Ad = "Engin", Soyad = "Ören" });
    dataList.Add(new Data() { Id = 3, Ad = "Burak Selim", Soyad = "Şenyurt" });
    dataList.Add(new Data() { Id = 4, Ad = "Martin", Soyad = "Fowler" });
    dataList.Add(new Data() { Id = 5, Ad = "Scott", Soyad = "Guthtrie" });

    grdTest.DataSource = dataList;
    grdTest.DataBind();
    }
    }

    class Data
    {
    public int Id { get; set; }
    public string Ad { get; set; }
    public string Soyad { get; set; }
    }

    protected void grdTest_RowCommand(object sender, GridViewCommandEventArgs e)
    {
    if (e.CommandName == "Sil")
    {
    int index = Convert.ToInt32(e.CommandArgument);
    int deleteDataID = Convert.ToInt32(grdTest.DataKeys[index]["Id"]);
    // Bundan sonra, silme işlemi için gerekli olan database erişim kodları ve deleteDataID değerini kullanan delete sorgusu yazılıcak.
    }
    }
    }




  • quote:

    Orijinalden alıntı: tolga_aykurt

    quote:

    Orijinalden alıntı: exe_genesis

    Gridview'in soluna bi seç butonu ekle. (Gridview'deki seçili satırı silmek için.)

    string x=Gridview1.Rows[e.Rowindex].cells[1].Text;

    Yukarıdaki kodla gridview'deki seçili satırın id'sini alırsın. (id gridview'de kaçıncı sıradaysa 1 yerine onu yazarsın).

    Sonrada delete sorgunu yazarsın. where kısmına id=x i yazarsın olur biter :)


    Bu arada yukarıdaki kod yanlış yazım olabilir. Sen yazarken bak :) Aklımdan yazdım. Zaten . ya basınca çıkan şeylerden görüp yaparsın :)

     c# gridviewde silme--acill


    Yukarıdaki gridview'de productid 16 olan kolonu seçersek

    string x=Gridview1.Rows[e.Rowindex].cells[1].Text; kodumuzda bu şekilde olursa x'imiz pavlova olur. cells[0] ise productid yani 16 olur.

    Ama sen sola seç butonu koyacağın için cells[0] seç olacak. cell[1] e id yi koyarsan id yi çekmiş olacaksın.

    id'de benzersiz olduğu için dbden sadece o kayıt silinir :)


    Bu bahsettiğiniz hem iyi bir yöntem değil hem güncel bir yöntem değil. Bunların yerine şu şekilde güncel bir kod yazabilrsin;

    HTML Markup
     
    <asp:GridView ID="grdTest" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" onrowcommand="grdTest_RowCommand">
    <Columns>
    <asp:BoundField DataField="Id" HeaderText="ID" Visible="False" />
    <asp:BoundField DataField="Ad" HeaderText="Ad" />
    <asp:BoundField DataField="Soyad" HeaderText="Soyad" />
    <asp:ButtonField CommandName="Sil" Text="Sil" />
    </Columns>
    </asp:GridView>


    CS Codes
     
    protected void Page_Load(object sender, EventArgs e)
    {
    if (Page.IsPostBack == false)
    {
    List<Data> dataList = new List<Data>();
    dataList.Add(new Data() { Id = 1, Ad = "Tolga", Soyad = "Aykurt" });
    dataList.Add(new Data() { Id = 2, Ad = "Engin", Soyad = "Ören" });
    dataList.Add(new Data() { Id = 3, Ad = "Burak Selim", Soyad = "Şenyurt" });
    dataList.Add(new Data() { Id = 4, Ad = "Martin", Soyad = "Fowler" });
    dataList.Add(new Data() { Id = 5, Ad = "Scott", Soyad = "Guthtrie" });

    grdTest.DataSource = dataList;
    grdTest.DataBind();
    }
    }

    class Data
    {
    public int Id { get; set; }
    public string Ad { get; set; }
    public string Soyad { get; set; }
    }

    protected void grdTest_RowCommand(object sender, GridViewCommandEventArgs e)
    {
    if (e.CommandName == "Sil")
    {
    int index = Convert.ToInt32(e.CommandArgument);
    int deleteDataID = Convert.ToInt32(grdTest.DataKeys[index]["Id"]);
    // Bundan sonra, silme işlemi için gerekli olan database erişim kodları ve deleteDataID değerini kullanan delete sorgusu yazılıcak.
    }
    }
    }


    Ödev yapan , daha gridview'i bilmeyen birisi için (başlangıç seviyesinde olduğunu belirtiyorum yanlış anlaşılma olmasın) bence en kolay anlayacağı en basit yol benim yaptığım.

    Ek olarak vs olmadığı için akıldan yazılabilecek en basit yolda yine benim yaptığım(:



    < Bu mesaj bu kişi tarafından değiştirildi netcore -- 25 Aralık 2011; 14:42:38 >




  • quote:

    Orijinalden alıntı: exe_genesis

    quote:

    Orijinalden alıntı: tolga_aykurt

    quote:

    Orijinalden alıntı: exe_genesis

    Gridview'in soluna bi seç butonu ekle. (Gridview'deki seçili satırı silmek için.)

    string x=Gridview1.Rows[e.Rowindex].cells[1].Text;

    Yukarıdaki kodla gridview'deki seçili satırın id'sini alırsın. (id gridview'de kaçıncı sıradaysa 1 yerine onu yazarsın).

    Sonrada delete sorgunu yazarsın. where kısmına id=x i yazarsın olur biter :)


    Bu arada yukarıdaki kod yanlış yazım olabilir. Sen yazarken bak :) Aklımdan yazdım. Zaten . ya basınca çıkan şeylerden görüp yaparsın :)

     c# gridviewde silme--acill


    Yukarıdaki gridview'de productid 16 olan kolonu seçersek

    string x=Gridview1.Rows[e.Rowindex].cells[1].Text; kodumuzda bu şekilde olursa x'imiz pavlova olur. cells[0] ise productid yani 16 olur.

    Ama sen sola seç butonu koyacağın için cells[0] seç olacak. cell[1] e id yi koyarsan id yi çekmiş olacaksın.

    id'de benzersiz olduğu için dbden sadece o kayıt silinir :)


    Bu bahsettiğiniz hem iyi bir yöntem değil hem güncel bir yöntem değil. Bunların yerine şu şekilde güncel bir kod yazabilrsin;

    HTML Markup
     
    <asp:GridView ID="grdTest" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" onrowcommand="grdTest_RowCommand">
    <Columns>
    <asp:BoundField DataField="Id" HeaderText="ID" Visible="False" />
    <asp:BoundField DataField="Ad" HeaderText="Ad" />
    <asp:BoundField DataField="Soyad" HeaderText="Soyad" />
    <asp:ButtonField CommandName="Sil" Text="Sil" />
    </Columns>
    </asp:GridView>


    CS Codes
     
    protected void Page_Load(object sender, EventArgs e)
    {
    if (Page.IsPostBack == false)
    {
    List<Data> dataList = new List<Data>();
    dataList.Add(new Data() { Id = 1, Ad = "Tolga", Soyad = "Aykurt" });
    dataList.Add(new Data() { Id = 2, Ad = "Engin", Soyad = "Ören" });
    dataList.Add(new Data() { Id = 3, Ad = "Burak Selim", Soyad = "Şenyurt" });
    dataList.Add(new Data() { Id = 4, Ad = "Martin", Soyad = "Fowler" });
    dataList.Add(new Data() { Id = 5, Ad = "Scott", Soyad = "Guthtrie" });

    grdTest.DataSource = dataList;
    grdTest.DataBind();
    }
    }

    class Data
    {
    public int Id { get; set; }
    public string Ad { get; set; }
    public string Soyad { get; set; }
    }

    protected void grdTest_RowCommand(object sender, GridViewCommandEventArgs e)
    {
    if (e.CommandName == "Sil")
    {
    int index = Convert.ToInt32(e.CommandArgument);
    int deleteDataID = Convert.ToInt32(grdTest.DataKeys[index]["Id"]);
    // Bundan sonra, silme işlemi için gerekli olan database erişim kodları ve deleteDataID değerini kullanan delete sorgusu yazılıcak.
    }
    }
    }


    Ödev yapan , daha gridview'i bilmeyen birisi için (başlangıç seviyesinde olduğunu belirtiyorum yanlış anlaşılma olmasın) bence en kolay anlayacağı en basit yol benim yaptığım.

    Ek olarak vs olmadığı için akıldan yazılabilecek en basit yolda yine benim yaptığım(:

    Siz doğru olanı gösterin O bir şekilde aklında tutar, bu konuda endişelenmeniz yersiz. İyi niyetli bir düşünce ile farklı bir çözüm sunmuşsunuz, elinize sağlık. Ancak öğrenci arkadaşların akılda kalıcı olmasından ziyade güncel ve en yeni yöntemleri öğrenmeleri onların iş hayatları için daha iyi olur düşüncesindeyim. Lakin benim sunduğum yöntemin karışık bir yönünün olduğunu düşünmüyorum. Sanırım soruyu soran arkadaşta bizim yazdıklarımızı henüz okumamış :)




  • quote:

    Orijinalden alıntı: tolga_aykurt


    quote:

    Orijinalden alıntı: exe_genesis

    quote:

    Orijinalden alıntı: tolga_aykurt

    quote:

    Orijinalden alıntı: exe_genesis

    Gridview'in soluna bi seç butonu ekle. (Gridview'deki seçili satırı silmek için.)

    string x=Gridview1.Rows[e.Rowindex].cells[1].Text;

    Yukarıdaki kodla gridview'deki seçili satırın id'sini alırsın. (id gridview'de kaçıncı sıradaysa 1 yerine onu yazarsın).

    Sonrada delete sorgunu yazarsın. where kısmına id=x i yazarsın olur biter :)


    Bu arada yukarıdaki kod yanlış yazım olabilir. Sen yazarken bak :) Aklımdan yazdım. Zaten . ya basınca çıkan şeylerden görüp yaparsın :)

     c# gridviewde silme--acill


    Yukarıdaki gridview'de productid 16 olan kolonu seçersek

    string x=Gridview1.Rows[e.Rowindex].cells[1].Text; kodumuzda bu şekilde olursa x'imiz pavlova olur. cells[0] ise productid yani 16 olur.

    Ama sen sola seç butonu koyacağın için cells[0] seç olacak. cell[1] e id yi koyarsan id yi çekmiş olacaksın.

    id'de benzersiz olduğu için dbden sadece o kayıt silinir :)


    Bu bahsettiğiniz hem iyi bir yöntem değil hem güncel bir yöntem değil. Bunların yerine şu şekilde güncel bir kod yazabilrsin;

    HTML Markup
     
    <asp:GridView ID="grdTest" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" onrowcommand="grdTest_RowCommand">
    <Columns>
    <asp:BoundField DataField="Id" HeaderText="ID" Visible="False" />
    <asp:BoundField DataField="Ad" HeaderText="Ad" />
    <asp:BoundField DataField="Soyad" HeaderText="Soyad" />
    <asp:ButtonField CommandName="Sil" Text="Sil" />
    </Columns>
    </asp:GridView>


    CS Codes
     
    protected void Page_Load(object sender, EventArgs e)
    {
    if (Page.IsPostBack == false)
    {
    List<Data> dataList = new List<Data>();
    dataList.Add(new Data() { Id = 1, Ad = "Tolga", Soyad = "Aykurt" });
    dataList.Add(new Data() { Id = 2, Ad = "Engin", Soyad = "Ören" });
    dataList.Add(new Data() { Id = 3, Ad = "Burak Selim", Soyad = "Şenyurt" });
    dataList.Add(new Data() { Id = 4, Ad = "Martin", Soyad = "Fowler" });
    dataList.Add(new Data() { Id = 5, Ad = "Scott", Soyad = "Guthtrie" });

    grdTest.DataSource = dataList;
    grdTest.DataBind();
    }
    }

    class Data
    {
    public int Id { get; set; }
    public string Ad { get; set; }
    public string Soyad { get; set; }
    }

    protected void grdTest_RowCommand(object sender, GridViewCommandEventArgs e)
    {
    if (e.CommandName == "Sil")
    {
    int index = Convert.ToInt32(e.CommandArgument);
    int deleteDataID = Convert.ToInt32(grdTest.DataKeys[index]["Id"]);
    // Bundan sonra, silme işlemi için gerekli olan database erişim kodları ve deleteDataID değerini kullanan delete sorgusu yazılıcak.
    }
    }
    }


    Ödev yapan , daha gridview'i bilmeyen birisi için (başlangıç seviyesinde olduğunu belirtiyorum yanlış anlaşılma olmasın) bence en kolay anlayacağı en basit yol benim yaptığım.

    Ek olarak vs olmadığı için akıldan yazılabilecek en basit yolda yine benim yaptığım(:

    Siz doğru olanı gösterin O bir şekilde aklında tutar, bu konuda endişelenmeniz yersiz. İyi niyetli bir düşünce ile farklı bir çözüm sunmuşsunuz, elinize sağlık. Ancak öğrenci arkadaşların akılda kalıcı olmasından ziyade güncel ve en yeni yöntemleri öğrenmeleri onların iş hayatları için daha iyi olur düşüncesindeyim. Lakin benim sunduğum yöntemin karışık bir yönünün olduğunu düşünmüyorum. Sanırım soruyu soran arkadaşta bizim yazdıklarımızı henüz okumamış :)

    Benim yazdığım doğru cevap mı? Evet
    Daha kısa mı? Evet
    Aynı işi yapıyor mu? Evet
    Başlangıçta olan birinin daha basit anlayacağı şekilde mi? Evet

    E sorun ne? Biz yanlış olanı mı gösteriyoruz. Adam çok acil yardım istemiş, evde vs olmadığı için pazartesi cevap vereceğime tek satırda aklımdan halletsin diye yazdım.




  • string selected_id = dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();

    OleDbConnection conn = new OleDbConnection(stringin adı);
    conn.Open();

    OleDbCommand cmd =
    new OleDbCommand("DELETE FROM (tablo adı) WHERE id=" + selected_id, conn);

    cmd.ExecuteNonQuery();

    conn.Close();
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.