none
Gridwiew de seçilen kayıtların ID değerini veri tabanına kaydetmek RRS feed

  • Soru

  •    Merhaba arkadaşlar amacım GridView içinde seçmiş olduğum kayıtların ID değerini veritabanına kaydetmek istiyorum ama kodum bir türlü çalışmadı... yardımcı olursanız sevinirim

    protected void Button1_Click(object sender, EventArgs e)
        {

            foreach (GridViewRow sec in GridListe.Rows)
            {
                CheckBox CheckSecim = (CheckBox)sec.FindControl("ChckSecim");


                if (CheckSecim != null & CheckSecim.Checked)
                {
                     int id = Convert.ToInt32(GridListe.DataKeys[sec.RowIndex].Value.ToString());
                    SqlConnection bg = veri.baglan();
                    SqlCommand ekle = new SqlCommand("INSERT INTO  GorevAyrinti (PersonelId) VALUES (@Id)", bg);
                    ekle.Parameters.AddWithValue("@Id", id);
                    ekle.ExecuteNonQuery();

                }
            }
        }

                          
    19 Haziran 2014 Perşembe 07:01

Yanıtlar

  • Simdi farkettim sen dongu kullaniyormussun, atlamistim onu:

    protected void Button1_Click(object sender, EventArgs e)
    {
      SqlConnection bg = veri.baglan();
      SqlCommand ekle = new SqlCommand("INSERT INTO  GorevAyrinti (PersonelId) VALUES (@Id)", bg);
      ekle.Parameters.AddWithValue("@Id", 0);
      
      foreach (GridViewRow sec in GridListe.Rows)
      {
        CheckBox CheckSecim = (CheckBox)sec.FindControl("ChckSecim");
        if (CheckSecim != null & CheckSecim.Checked)
        {
            ekle.Parameters["@Id"].Value = Convert.ToInt32(GridListe.DataKeys[sec.RowIndex].Value.ToString());
            ekle.ExecuteNonQuery();
        }
      }
    }
    

    19 Haziran 2014 Perşembe 08:56

Tüm Yanıtlar

  • if de iki tane ampersant olacak: && gibi

    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    19 Haziran 2014 Perşembe 07:32
    Moderatör
  • olmadı sorun başka yerde sanki
    19 Haziran 2014 Perşembe 07:51
  • bg.Open()?

    Calismadi derken, aldigin hata mesaji ne? PersonelId primary key oldugu icin hata aliyor olabilir misin?

    19 Haziran 2014 Perşembe 07:53
  • Siz her seçilen satırın id sini id nizin tipinde olan bir Generic List te tutun. Sonra bunları kaydedin. Daha performanslı olur.
    19 Haziran 2014 Perşembe 08:02
  • bağlantı açık orda sorun yok PersonelId primary key değil int 

    19 Haziran 2014 Perşembe 08:14
  • örnek verebilirmisiniz?
    19 Haziran 2014 Perşembe 08:15
  • var selecteds=new List<int>();
    datagrid.Selected...(eventArgs[]...)
    {
    //siz buraya checkboxınızı sorgulayıp kontrol edebilirsiniz.
    var result=Convert.ToInt32(datagrid.SelectedRows[0].Cells["Seçilecek kolon"].Value);
    selecteds.Add(result);
    }

    19 Haziran 2014 Perşembe 08:32
  • malesef hala çözüm bulamadım
    19 Haziran 2014 Perşembe 08:46
  • Simdi farkettim sen dongu kullaniyormussun, atlamistim onu:

    protected void Button1_Click(object sender, EventArgs e)
    {
      SqlConnection bg = veri.baglan();
      SqlCommand ekle = new SqlCommand("INSERT INTO  GorevAyrinti (PersonelId) VALUES (@Id)", bg);
      ekle.Parameters.AddWithValue("@Id", 0);
      
      foreach (GridViewRow sec in GridListe.Rows)
      {
        CheckBox CheckSecim = (CheckBox)sec.FindControl("ChckSecim");
        if (CheckSecim != null & CheckSecim.Checked)
        {
            ekle.Parameters["@Id"].Value = Convert.ToInt32(GridListe.DataKeys[sec.RowIndex].Value.ToString());
            ekle.ExecuteNonQuery();
        }
      }
    }
    

    19 Haziran 2014 Perşembe 08:56
  •    

    Kodlarım bunlar malesef nerede hata yapıyorum bir türlü çözemedim olmadı olmuyor

    <asp:Button ID="BtnKaydet" runat="server" Text="Kaydet" OnClick="BtnKaydet_Click"  />


        <asp:GridView AutoGenerateColumns="false" DataKeyNames="PersonelId"  AllowSorting="true" ID="GridView1" runat="server" OnSorting="GridView1_Sorting">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:CheckBox ID="ChckSecim" Text="Seç" TextAlign="Left" runat="server" />
                    </ItemTemplate>

                </asp:TemplateField>
                <asp:BoundField DataField="Sicili" SortExpression="Sicili" HeaderText="Sicil" />
                 <asp:BoundField DataField="Adisoyadi" SortExpression="Adisoyadi" HeaderText="Adı" />
            </Columns>
        </asp:GridView>
       <div>
       </div>

    protected void BtnKaydet_Click(object sender, EventArgs e)
        {
            SqlConnection bg = veri.baglan();
            SqlCommand ekle = new SqlCommand("INSERT INTO  GorevAyrinti (PersonelId) VALUES (@Id)", bg);
            ekle.Parameters.AddWithValue("@Id", 0);

            foreach (GridViewRow sec in GridView1.Rows)
            {
                CheckBox CheckSecim = (CheckBox)sec.FindControl("ChckSecim");
                if (CheckSecim != null & CheckSecim.Checked)
                {
                    ekle.Parameters["@Id"].Value = Convert.ToInt32(GridView1.DataKeys[sec.RowIndex].Value.ToString());
                    ekle.ExecuteNonQuery();
                }
            }
        }
    19 Haziran 2014 Perşembe 18:22