0

SQLite3 DB に対してユーザー入力を検証しています。ただし、if/else ステートメントを機能させることはできません。結果は常に「見つかりません」です。このコードの何が問題になっていますか? print(c.fetchone()) で結果を確認することにより、クエリが正しいことがわかります。

c.execute("SELECT EXISTS(SELECT 1 FROM airports WHERE ICAO = ?)", (icaocode,))
result = c.fetchone()
if result is True:
    print("Found")
else:
    print("Not found...")
4

1 に答える 1

0
c.execute("SELECT ICAO FROM airports WHERE ICAO = ?)", (icaocode,))
result = c.fetchone()
if result:
    print("Found")
else:
    print("Not found...")

行が見つからない場合は、 をfetchone返しますNone。行が見つかった場合、fetchoneその行を空でないタプルとして返します。したがって、そのブール値は Truish になります。

于 2013-09-18T13:53:53.717 に答える