Kullanıcıların uygun kişileri bulmak için veritabanını sorgulamak için kullanılacak çeşitli özelliklerini seçebileceğiniz kullanarak bir GUI oluşturmak gerekir. Ben Kullanıcının seçimlerine göre dinamik veritabanı sorgu oluşturmak için nasıl fikirler arıyorum.
Sorgu çeşitli alanları içerir, ancak fikir almak için ben bir örnek olarak aşağıda olanların sadece üç içerecektir:
Occupation - n işgal dizelere 0 olabilir. Işgal dizeleri verilirse, bunlardan biri maç var.
Age - yaş olarak verilebilir:
- tam eşleşme (30)
- aralığı (örneğin 30-40)
- den daha az bir değer (-40)
- bir değerden daha fazla (30 -)
Yaş parametre sorguda isteğe bağlıdır. Buna ek olarak, kullanıcı yaş gerekli bir parametre olup olmadığını belirleyebilirsiniz. Bu gerekli değildir, ve bir kişinin yaşı onun / profili yoksa, yaş kriterler bu kişi için göz ardı edilir.
- Height - yaş olarak benzer
Example queries:
Resim kriterleri verilmiştir:
select * from persons
Sadece işgal verildi:
select * from persons where occupation = 'dentist'
Çeşitli meslekler verilmiştir:
select * from persons where (occupation = 'dentist' or occupation = 'engineer')
Yaş değerinden daha büyük olarak verilmiştir ve bu kişinin profilinde bulunması gereken oluyor:
select * from persons where age >= 30
Yükseklik bir dizi olarak verilmiştir ve bu kişinin profilinde bulunması gereken değil:
select * from persons where (height is null or (height >= 30 and height <= 40))
Farklı kriterlerin kombinasyonu:
select * from persons where occupation = 'dentist' and age >= 30 and (height is null or (height >= 30 and height <= 40))
Zaten dizeleri olarak sorguları üretebilen kod hayata geçirdik, ama kesinlikle çok hoş değil. Bunu başarmak için en etkili ve en güzel yolu ne olurdu fikirler arıyorum.