我在我的軟件中使用SQLite本地數據庫。我想根據行的發送者值檢查一行是否存在。例如:"SELECT * FROM ftp WHERE Host LIKE '"+ host +"' AND Username LIKE '"+ username +"' "
如何檢查SQLite表中是否存在具有條件的行
但我想得到布爾結果,所以如果發現記錄做了一些事情,如果不做別的。鋤頭我能做到嗎?
這是我累了,但它總是如此,因爲它檢查quesry是否運行,而不是如果它返回數據。
public void ftpTableCheck(String host, String port, String username, String password){
try{
String query = "SELECT * FROM ftp WHERE Host LIKE '"+ host +"' AND Username LIKE '"+ username +"' ";
PreparedStatement pst = conn.prepareStatement(query);
if (pst.execute() == true){
System.out.println("true");
}
}catch(Exception e){
e.printStackTrace();
}
}
任何想法如何解決它? 謝謝
你可以使用'select count(*)...'這將返回一行的匹配結果數量......可以試試'select(count(* )> 0)找到......'或者別的東西(ps-未經測試;)) – MadProgrammer
我用H2做了一個測試(沒有安裝SQLite)和'select (count(*)> 0)找到了...'爲我工作並返回了一個布爾結果 – MadProgrammer
好吧,它正在工作,即使COUNT(*)的作品,並在任何SQL軟件提供正確的價值。但在java中,我必須通過ResultSet獲取查詢的結果,並且此類似乎沒有任何方法來顯示行數。這就是我正在尋找的 – Dan