2016-04-12 38 views
0

yürütme: Eğer SQL sözdizimi bir hata varMySQL sözdizimi hatası SQL sorgusu

; '?' yakınında kullanmak için doğru sözdizimi için MySQL sunucu sürümünüze karşılık gelen kılavuzu kontrol edin çizgisinde 1`

String query="Select * from DB.Admin where username = ?"; 
PreparedStatement st=connection.prepareStatement(query); 
st.setString(1,request.getParameter("loginid")); 
ResultSet rst= st.executeQuery(query); 
int count=0; 
while(rst.next()){ 
    count++; 
} 

bana bu konuda yardımcı olun.

cevap

1

executeQuery aramanızdan query argümanını kaldırmanız gerekecek. Parametreyi sağlarsanız, sorgu herhangi bir değer eklemeden yürütülür (ayrıntılar için bkz. Statement) - bu nedenle sözdizimi (yani ?) geçersizdir.

böyle sorguyu yürütün:

ResultSet rst = st.executeQuery(); 

Bir yan not olarak: her zaman bir deneyin-ile-kaynaklar blok, ör Connection, PreparedStatement ve ResultSet sarmak gerekir

try (ResultSet rst = st.executeQuery()) { 
    // read the results 
} 

Eğer ResultSet ne olursa olsun kapalı olacaktır emin olabilirsiniz Bu şekilde.

+0

Tavsiyeniz için teşekkürler ... çalışıyor :) –