Local
Yp ile Cevaplandı.
Görünüşe göre, ListView'deki verilerin görünmemesi sorunu, ListViewItem'ın alt öğelerinin eklenmesi sırasında ana öğenin belirlenmemesinden kaynaklanıyor olabilir. Ayrıca, veritabanı bağlantısını ve veri okuma işlemini yönetmek için using ifadesini kullanarak kaynakların düzgün bir şekilde kapatıldığından emin olmalıyız.
Aşağıda, kodunuzu bu sorunları düzeltecek şekilde güncelledim:
Kod:
public Form7()
{
InitializeComponent();
}
//ÜRÜN TABLOSU LİSTELEME
SqlConnection baglan = new SqlConnection("Data Source=DESKTOP-G6C00I7\\SQLEXPRESS;Initial Catalog=Ambar;Integrated Security=True");
private void verigöster()
{
listView1.Items.Clear(); // Önce ListView'i temizleyelim
// using bloğu içinde SqlConnection ve SqlCommand kullanarak kaynakların düzgün kapatılmasını sağlayalım
using (SqlConnection baglan = new SqlConnection("Data Source=DESKTOP-G6C00I7\\SQLEXPRESS;Initial Catalog=Ambar;Integrated Security=True"))
{
baglan.Open();
using (SqlCommand komut = new SqlCommand("SELECT * FROM Sayfa1$", baglan))
{
using (SqlDataReader oku = komut.ExecuteReader())
{
while (oku.Read())
{
// Her satır için yeni bir ListViewItem oluştur
ListViewItem ekle = new ListViewItem(oku["ÜRÜN ADI"].ToString());
// Diğer sütunları alt öğe olarak ekleyin (örneğin, "ÜRÜN KODU" ve "FİYAT" sütunları varsa)
// ekle.SubItems.Add(oku["ÜRÜN KODU"].ToString());
// ekle.SubItems.Add(oku["FİYAT"].ToString());
// ListView'e ekle
listView1.Items.Add(ekle);
}
}
}
}
}
private void Form7_Load(object sender, EventArgs e)
{
verigöster();
}
Bu güncelleme ile:
ListView her seferinde temizlenir (listView1.Items.Clear()), bu sayede veriler tekrarlanmaz.
using bloğu kullanarak SqlConnection, SqlCommand ve SqlDataReader nesnelerinin doğru bir şekilde kapatılmasını sağlarız.
ListViewItem'ın ana öğesi olarak ÜRÜN ADI sütunu eklenir ve gerekirse diğer sütunlar alt öğe olarak eklenebilir.
Bu değişiklikler, verilerin doğru bir şekilde ListView'de görüntülenmesini sağlayacaktır. Ayrıca, using ifadesi kaynakları yönetmenize yardımcı olarak bellek sızıntılarını ve bağlantı sorunlarını önler.