簡體   English   中英

如何檢查 SQLite 數據庫中是否已存在輸入字符串?

[英]How to check if an input string already exists in a SQLite database?

我有一個 SQLite 數據庫,其中列出了世界上所有機場及其各自數據(代碼、國家、名稱等)的列表。 我正在嘗試創建一種 ATC 將使用其機場代碼登錄的方法。 然后程序將檢查機場代碼是否存在,並返回 true 以便 ATC 可以登錄並能夠查看其機場的所有信息。 如果它不存在,它返回 false 並且不讓 ATC 登錄。

我正在嘗試查看數據庫中是否存在特定的“項目”,而不是行或列。

通過在線查看,這是我得到的“最接近的”,但我遇到了一個錯誤,現在不知道該怎么做。

String selectSQL = "IF EXISTS(SELECT 1 FROM airports WHERE code = " + ATCLogin + ")";

我現在得到的錯誤是

org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (near "'MAD'": syntax error)

“MAD”是我現在正在測試的機場代碼。

首先,您想要的原始 SQL 查詢看起來像這樣:

SELECT EXISTS (SELECT 1 FROM airports WHERE code = ?)

請注意,上述查詢應返回單個 boolean 真/假值。 ? 是一個占位符,您應該將 Java 字符串值綁定到該占位符。 這是使用 Java 准備好的語句的方法。

String sql = "SELECT EXISTS (SELECT 1 FROM airports WHERE code = ?)";
String code = "LAX";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, code);
ResultSet rs = ps.executeQuery();

if (rs.next()) {
    boolean result = rs.getBoolean(1);
    String output = "Airport code " + code + " exists in database? " + result;
    System.out.println(output);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM