Listbox Çoklu Seçim İle Veritabanı Sorgulama
Listbox ile çoklu seçim özelliğini kullanarak veritabanını birden fazla koşul ile rahatça sorgulayabilirsiniz. Bunun için Listbox’un MutliSelect özelliğini properties penceresinden MultiExtented ayarlayınız ve aşağıdaki kod parçacığını istediğiniz gibi düzenleyip sorgunuza dahil edebilirsiniz.
[csharp]
int tut=0;
for (int i = 0; i < listBox1.Items.Count; i++) //listbox’ın elemanlarının sayısını alır. Kaç tane değer var diye bakar.
{
if (listBox1.GetSelected(i) == true) // i. eleman seçili mi diye kontrol eder.
{
tut++;
if (tut == 1)
{
sorguSecimli += string.Format(" (‘{0}’", listBox1.Items[i].ToString()); // seçiliyse sorgu string’ine ekler.
}
else
{
sorguSecimli += string.Format(" ,'{0}’", listBox1.Items[i].ToString()); // seçiliyse sorgu string’ine ekler.
}
}
[/csharp]
Gelelim ne için kullanadığıma? Çalıştığım şirket için geliştirdiğim projemde Listbox’tan çoklu seçim ile dinamik sorgu hazırlamam gerekiyordu. Bunun için string sorgu=” select * from tablom where şartlar” diye bir string tanımladım. Where kısmı listbox’tan seçilen değere göre dinamik oluştururmalıydı. Bunun için üstteki kod parçacığımla sorguma ekleme yaptım. Ben sorguma in (şart,şart,şart) t-sql komutunu kullandığım için yukarıdaki gibi bir if yapısını daha dahil ettim. Size sorgunuza göre bu yöntemle şartlarınızı dinamik bir şekilde oluşturabilirsiniz. Konu ile ilgili sorularınızı yorum panelinden bana sorabilirsiniz.
Vb’te bu işlemi nasıl yapabiliriz?