java - 在 SQLite JDBC 查询中附加 java.sql.Date

标签 java sqlite jdbc

我一直在整个数据库中使用PreparedStatements,您可以在其中使用setDate(index, data),但是使用这样的Date 对象是否有效?

“SELECT * FROM table WHERE date BETWEEN "+ date + "AND "+ otherDate

有什么在线工具可以用来测试这个吗?

最佳答案

我不相信这个功能会起作用:

"SELECT * FROM table WHERE date BETWEEN " + date + " AND " + otherDate

由于您尝试将两个 Date 对象与多个 String 文字连接起来。您需要使用 DateFormatterDate 转换为 String

您应该坚持使用 PreparedStatement 并避免通过连接字符串/值来创建 SQL 语句。 PreparedStatement 将为您提供一些针对 sql 注入(inject) 的保护,而字符串连接方法将使您面临 SQL 注入(inject)的风险。

关于java - 在 SQLite JDBC 查询中附加 java.sql.Date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14455886/

相关文章:

java - 在java中使用Prepared Statement创建动态名称表

java - setenv.sh 中的多行 JAVA_OPTS

java - 多线程之间共享的静态集合行为

java - Avro 迭代 GenericRecord

java - SSL Handshake Excetion : Failure in SSL library, 通常是协议(protocol)错误

database - 我在这里缺少什么-现有数据库的Sqlite Flutter

java - 运行时 JDBC 程序中的 MySQLNonTransientConnectionException

Android Two Fragment ListView 布局异常

android - Android SQLite替换成无法正常工作

java - 在 Java 中的另一个数据映射器中使用数据映射器?