C#.Net öğrenmeye, ilgilenmeye yeni yeni başlıyorum. Bildiklerimi, gördüklerimi ve yaptıklarımı sizlerle paylaşmak istedim. Webde bir çok kaynak bulunmasına rağmen sıfırdan başlayan birinin işine yarayacak kaynak malesef oldukça az. Aşşağıdaki kodlar sayesinde veritabanındaki kayıtları oldukça basit bir şekilde listeleyebilir veya filtreleyebilirsiniz. Bu yapı sayesinde her seferinde veritabanı bağlantısını ve datagridview ile ilgili diğer tanımlamaları yapmak zorunda kalmıyorsunuz. Sadece istediğiniz sql sorgusunu yolluyorsunuz okadar.. Terimlerde veya ifadelerimde hata varsa affola :)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication2
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public void Form2_Load(object sender, EventArgs e)
{
griddoldur("select * from tabloadi"); // form yüklendiğinde, yani program ilk çalıştığında bu sorguyla birlikte datagridview1 nesnemizi dolduruyoruz.
}
public void griddoldur(string sqlCumle) {
string ConStr = "Server=veritabani_adresi; Database=veritabani_adi; uid=kullanici_adi; " +
"pwd=sifre;pooling=true; connection lifetime=10; connection timeout=5; packet size=1024;";
SqlConnection conn = new SqlConnection(ConStr);
string sql = sqlCumle; // sql cümlemiz fonksiyonumuzdan değişken bir biçimde geliyor. bkz: griddoldur(string sqlCumle)
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0]; // veritabanına bağlanıp son olarakda dataGridView1 veri kaynağını dataadaptere bağlıyoruz.
}
private void buton1_Click(object sender, EventArgs e)
{
griddoldur("select * from digertabloadi"); // butona tıkladığımızda diğer tablodaki verileri datagridview1 nesnesinde görüntüleyebiliriz.
}
private void buton2_Click(object sender, EventArgs e)
{
griddoldur("SELECT * from tabloadi where alanadi = "+textbox1.text+" ") // istediğimiz gibi şekillendirebiliriz. bu sayede herseferinde yeniden yeniden kodlar yazmamıza gere kalmaz.
}
}
}





C# yeni öğreniyorum. Yazdığınız makale çok işime yaradı. Teşekkürler
Ne mutlu bana :)
hocam bende yeni başladım 2-3 gündür biraz daha açık anlatırmısın
DataSet kullanmışsın burada DataGridView değil
DataSet ile DataGridView’ in içini dolduruyoruz. dataGridView1.DataSource = ds.Tables[0];
eline sağlık, güzel paylaşım.
iyi güzel konuda bu işleri linq ile yapsanız daha bi akıllıca olur yazdığın kodda veri tabanı güvenliği sıfır bu kod teknolojisiyle, mesela sql de — işareti c# daki // commend i gibi çalışır buna örnek olarak diyelim ki veritabanından kullanıcı adı parola kontrol ederek biryere giriş yapıcam eğer oraya — yazarsam sql deki sorgu commend e dönüşür ve hiç bi sorguya mağruz kalmadan giriş yaparım..
Merhaba, linq konusunda yeterli bilgiye sahip olmadığımdan ve bu yazıyı c# ile yeni tanışacak veya tanışmış insanlara kafa karıştırmadan vt işlemlerini göstermek için yazmıştım. Güvenlik konusuna gelince uygulamada bu tarz bir kullanım tabiki yanlıştır, enjeksiyon saldırıları için gerekli önlemleri almakta fayda var. Eğer linq e sadece güvenlik olarak bakıyorsanız sizde yanlış düşünüyorsunuz.
@necrowian arkadaşım bu işler illa linq ile yapılacak diye birşey yok büyük erp projelerinde her kodlayanın kendine göre oluşturduğu object oriented yapılar vardır,linq sadece güvenlik için oluşturulmuş bir sorgu dili değildir,burdaki konu başlığında “c# ile datagridview içinde veri gösterimi” yazmaktadır,ben güvenlikle alakalı bi başlık göremedim,merak etme senin bildiğin teknolojileri biz de biliyoruz ve kullanıyoruz,ama gidip bi yerlerde bilmişlik taslamıyoruz !!!
teşekkürler güzel çalışma
databind etmeyi unutmuşsunuz.
güzel olmuş
uygulama windowsformapplication oldugu için databind işlemi gerektirmez…
c# da comboboxdaki bir itemi datagridwievde göstermek istiyorum yardım edebilecek biri varmı?
çok işime yaradı. kaç gündür uğraşıyordum bir türlü olmuyordu. bu kod işimi gördü. çok teşşekkür ederim
teşekkürler.koduna zeval gelmesin .. :)
Paylaşımın için teşekkür ederim.