我想驗證電話號碼是否存在於數據庫列(TelephoneNumber
)中。如果存在,我將返回true
否則false
此代碼不僅驗證TelephoneNumber
列,它可以驗證像FirstName
,LastName
其他數據庫列,EmailAddress
etc
Java - 循環訪問數據庫記錄的有效方法
public boolean executeDBQuery(String tableName, String columnName,
String columnValue) {
try {
PreparedStatement ps = null;
String query = "SELECT TOP 1 " + columnName + "FROM" + tableName
+ "WHERE" + columnName + "=" + '?';
ps = conn.prepareStatement(query);
ps.setString(1, columnValue);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
return true;
} else {
return false;
}
} catch (SQLException ex) {
}
return false;
}
主要方法:
public static void main(String[] args) {
Database db = new Database();
boolean result = db.executeDBQuery("Application","FirstName","asd");
System.out.println(result);
}
即使在數據庫中找不到值,上述代碼也會返回真值。不知道我在這裏做錯了什麼。任何人都可以幫助我
首先,使用「*」不是一個好主意。第二:爲什麼不使用「WHERE」並讓db執行查找。使用索引可能會更高效。 – Fildor
我沒有看到你如何使用迄今給出的代碼來驗證其他列。這是否意味着,你會使用相同的只是另一個col名稱?在這種情況下,所有的列都必須是字符串列。數字的呢?另外請注意,您可以通過選擇適當的排序規則來控制數據庫中的區分大小寫。 – Fildor
是的,我將整數轉換爲字符串,同時將它傳遞給參數 – Aishu