Arkadaşlar,ADI,SOYADI,TCKİMLİKNO,PROTOKOLNO sorgulamak için 4 adet inputtext var.JSF 2.0-MYSQL veritabanı kullanıyorum. Inputtext'lerden hangisine yada hangilerine veri girilirse ona göre sorgulama yapabilirmiyim. Öğrneğin sadece ADI inputtext'ine veri girilir ama diğerleri boşsa sadece ADI aransın,ADI+SOYADI inputtext'lerine veri girilirse şartı sağlayan veri yada veriler aransın gibi birden fazla kritere göre bir sorguyu nasıl yapabilirim?

Teşekkür ederim

soruldu: 29 Ara '12, 10:25

azizc's gravatar image

azizc
5181010
cevap kabul oranı: 0%

değiştirildi: 30 Ara '12, 01:22

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


Önyüzde 4 tane input text ve bir buton olduğunu varsayalım. Butona tıklanma olayına bir actionListener metodu yazabilirsin. Bu metod da eğer bu input bileşenlerine değer girilmişse sql cümleciği oluştur ve sorguyu çalıştır diyebilirsin. Temsili bir şekilde kod ekliyorum.

.jsp veya .xhtml uzantılı dosyanda benzeri olması gereken kodlar

<h:inputText value="#{mb.ad}" />
<h:inputText value="#{mb.soyad}" />
<h:inputText value="#{mb.tcno}" />

<h:commandButton actionListener="#{mb.action}" />

Managed Bean sınıfında olması gereken kodlar

public void action(){
   String sql = "select * from ";
   if(ad != ""){
      sql += "where ad = " + ad;
      //sql sorgusunu çalıştır...
   }
}

Güncelleme

Soruyu tekrar okuyunca farkettim. Girildiğinde olmasını istiyorsan ajax kullanmalısın. Onun içinde benzer anlatımlar ekleyebilirim.

permanent link

cevaplandı: 29 Ara '12, 10:39

Tunahan%20Pehlivan's gravatar image

Tunahan Pehlivan
2.5k61740
cevap kabul oranı: 15%

değiştirildi: 29 Ara '12, 10:41

bu gibi bi durumda ajax kullansanda kullanmasanda arka tarafta iş mantığında text alanları null mı diye kontrol yaptıran bi kod bloğu yazmak zorunda değilsin diye hatırlıyorum aşşağıdaki gibi bir sql sorgusunda form dan null gelen alanlar sorguya dahil edilmiyor form elemanlarınna assağıdaki alanlara bağladığını varsayarsak;

String ad;
String soyad;
String tcNo;

String sql ="select * from tabloAdı where Ad = :ad and SOYAD=sad and TcNO=tcno"
NamedParameterStatement p = new NamedParameterStatement(con, sql);
p.setString("ad", ad);
p.setString("sad", soyad);
p.setString("tcno", tcNo);
resultSet =p.executeQuery();
permanent link

cevaplandı: 30 Ara '12, 06:44

Sheriff's gravatar image

Sheriff
12691116
cevap kabul oranı: 28%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×32

Soruldu: 29 Ara '12, 10:25

Görüntüleme: 930 kez

Son güncelleme: 30 Ara '12, 06:44

powered by BitNami OSQA