En iyi yanıtlayıcılar
Asp.Net Gridview Edit ve Update Komutları

Soru
-
Merhaba arkadaşlar , iyi çalışmalar hepinize.3.sınıf Bilgisahar Mühendisliği öğrencisiyim...
Ufak bir okul projesi üstünde çalışıyorum.Kullanıcıya edit,update ve delete yaptırmak istediğim bir table ım var gridview ile bunu çekiyorum görüntülüyorum (GENERATE Edit,Update,Delete seçeneği seçilemiyor bu arada )
fakat edit,update ve delete olayını yapamıyorum.Kendim çeşitli kodlar denedim
(bknz. http://www.c-sharpcorner.com/uploadfile/00c99e/gridview-events-for-beginners/)
fakat olmuyor sadece görüntüleyebiliyorum... Ne yapmalıyım sizce ? teşekkürler...
- Düzenleyen eternity11 30 Aralık 2012 Pazar 00:47
Yanıtlar
-
Selamlar;
http://social.msdn.microsoft.com/Forums/tr-TR/aspnettr/thread/18976aef-42a0-499d-ae7a-47782bfc2eb0
Burayı bir inceleyin. Öncelikle dikkat etmeniz gereken şey tablolarnızda unique identity bir PRIMARY key olmasıdır. Eğer primary key(ID) yok ise ADO.Net neyi sileceğini yada editleyeceğini tam kestiremez, bunun için silme ve değiştirme kodlarını oluşturamaz. Verdiğim linkte ekleme silme ve değiştirme yok ama o duruma kadar getirirseniz kendiniz ekleyebilirsiniz.
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Yanıt Olarak İşaretleyen Ali Rıza İnceoğlu 4 Ocak 2013 Cuma 15:48
Tüm Yanıtlar
-
Selamlar;
http://social.msdn.microsoft.com/Forums/tr-TR/aspnettr/thread/18976aef-42a0-499d-ae7a-47782bfc2eb0
Burayı bir inceleyin. Öncelikle dikkat etmeniz gereken şey tablolarnızda unique identity bir PRIMARY key olmasıdır. Eğer primary key(ID) yok ise ADO.Net neyi sileceğini yada editleyeceğini tam kestiremez, bunun için silme ve değiştirme kodlarını oluşturamaz. Verdiğim linkte ekleme silme ve değiştirme yok ama o duruma kadar getirirseniz kendiniz ekleyebilirsiniz.
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Yanıt Olarak İşaretleyen Ali Rıza İnceoğlu 4 Ocak 2013 Cuma 15:48
-
Bu kötü oldu çünkü tablomda primary key kullanmama luzum yok.Peki farklı yollarla (gridview harici veri görüntüleyicilerle) yapabilirmiyim bunu ? id isimli bir sutün ekleyip buna otomatik 1-2-3 olarak atama yaptırdım ama bunu primary yapmamıştım , yapsam edit,delete yapmaya izin verirmi acaba gridview ?
-
Eğer Primary Key ' e gerek yok diye düşünüyorsanız database yapısı hakkındaki bilgilerinizi yenileyiniz. Çünkü ekleme silme çıkarma ve değiştirme işlemleri yapılacak her tablo için primary key gereklidir. Tablodaki kayıtlarınıza benzersiz bir kimlik no vermezseniz ve bunu database e bildirmezseniz veri bütünlüğünü garanti edemezsiniz.
Düz text dosyası da bir database dir ama veri bütünlüğü, sıralama, arama vs vs. gibi bir çok özelliğe cevap veremediği için Database yazılımları üretilmiştir.
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Düzenleyen Önay YALÇINERModerator 30 Aralık 2012 Pazar 12:51
-
Kesinlikle haklısınız.ID isimli bir sütun ekledim otomatik sayı ataması yaptım , primary key olarak belirledim işlemimi gerçekleştirdim.Farklı bir sorum var şimdide :) Umarım meşgul etmiyorumdur sizi...
1-)Sayfamda butona basıldığında içinde gridview'imin bulunduğu panel'in gözükmesini istiyorum. Page_load event'inin içine panel1.visible=false; diyorum , daha sonra button_click event'inin içine panel1.visible=true; diyorum fakat gridview üzerinde edit veya delete 'e basıldığında otomatik visible false oluyor page_load'a geçiyor sanırım kayboluyor grid_view'im ....
2-)Programımın ana sayfasında üst kısımda studentno girildiğinde aşağıda panel beliriyor..Sıkıntım studentno girildikten sonra search butonuna iki kere basmam gerekiyor.İlk search butonuna bastığımda kum saati beliriyor tetikliyor birşeyleri ikincisinde bilgiler textbox'lara doluyor...
Kodlarım bu şekilde...
protected void Page_Load(object sender, EventArgs e)
{
Panel1.Visible = true;
if (Session["studentno"] != null)
{
Panel1.Visible = true;
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd = new SqlCommand("select * from maininfo where studentno=@studentno", con);
cmd.Parameters.Add("@studentno", Session["studentno"]);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
TextBox2.Text = dr["studentname"].ToString();
TextBox3.Text = dr["studentsurname"].ToString();
TextBox4.Text = dr["sex"].ToString();
TextBox5.Text = dr["borndate"].ToString();
TextBox6.Text = dr["facultyname"].ToString();
TextBox7.Text = dr["departmentname"].ToString();
}
}
}
protected void searchbutton_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd = new SqlCommand("select * from maininfo where studentno=@studentno", con);
cmd.Parameters.Add("@studentno", TextBox1.Text);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Session["studentno"] = Convert.ToInt32(dr["studentno"]);
}
else
{
Response.Write("Student does not exist");
}}
Çok teşekkür ederim şimdiden
-
-
Olmadı.Hatta öyleki studentno 'yu ne girersem gireyim ilk aldığı öğrenci bilgilerini gösterdi sürekli
- Düzenleyen eternity11 30 Aralık 2012 Pazar 15:39
-
Bu kullandığınız yöntemler yanlış. Çok zorluk çekersiniz. Dataset, Linq2SQL yada EF gibi bir veri erişim katmanı kullanın. Button un altına connection string yazıp reader ile okumak ASP.Net değildir. Okuduğunuz makale sizi yanlış yönlendirmiş şu yukarıda yapmak istediğiniz şey normalde 2 yada 3 satırdır.
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
-
ASP.NET tecrübem sadece 7 günlük :) Yukarıda yazdığım kodlarıda yine internette asp.net eğitimi adı altındaki videolardan alarak yaptım.Yukarıda yazdığım kodlara alternatif olarak tavsiyeniz nedir peki?
Ana Sayfam bu şekilde:
http://img843.imageshack.us/img843/4735/81645042.jpg
Burada üst kısımda studentno girip search yaptığımda iki kere tıklamam gerekiyor panele bilgilerin dolması için :(- Düzenleyen eternity11 31 Aralık 2012 Pazartesi 01:24
-
-
-
-
ben kullanmadım ama YouWebIt diye bi uygulama var
- Düzenleyen makul 1 Ocak 2013 Salı 19:09
-
-
-
-