- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
试图获取一个包含日期和相关注释的表格。我正在发送请求以获取表格和数据,日期 = 我决定的任何内容。
我收到以下错误:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ar.calendar13, PID: 22214
android.database.sqlite.SQLiteException: near "Feb": syntax error (code 1): , while compiling: SELECT CAL_EVENT_ID, CAL_EVENT_TTTLE, CAL_EVENT_NOTES, CAL_REMINDER_DATE, CAL_EVENT_REPEAT FROM CAL_EVENT_TABLE WHERE CAL_REMINDER_DATE = Tue Feb 12 00:00:00 EST 2019
#################################################################
Error Code : 1 (SQLITE_ERROR)
Caused By : SQL(query) error or missing database.
(near "Feb": syntax error (code 1): , while compiling: SELECT CAL_EVENT_ID, CAL_EVENT_TTTLE, CAL_EVENT_NOTES, CAL_REMINDER_DATE, CAL_EVENT_REPEAT FROM CAL_EVENT_TABLE WHERE CAL_REMINDER_DATE = Tue Feb 12 00:00:00 EST 2019)
#################################################################
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1096)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:661)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)
at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1746)
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1593)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1464)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1632)
at com.example.ar.calendar13.Cal_DBManager.fetchDayRecords(Cal_DBManager.java:85)
数据库管理器:
public Cursor fetchDayRecords(String strCalDate) {
String[] columns = new String[]{
Cal_DBHelper.CAL_EVENT_ID, Cal_DBHelper.CAL_EVENT_TTTLE,
Cal_DBHelper.CAL_EVENT_NOTES, Cal_DBHelper.CAL_REMINDER_DATE,
Cal_DBHelper.CAL_EVENT_REPEAT
};
Cursor cursor = database.query(Cal_DBHelper.TABLE_NAME1, columns,
Cal_DBHelper.CAL_REMINDER_DATE + " = " + strCalDate,
null, null, null, null);
if (cursor != null) {
cursor.moveToFirst();
}//if
return cursor;
}//displayRecordTable1
数据库助手:
private static final String CREATE_TABLE1 = "create table " + TABLE_NAME1 + "(" + CAL_EVENT_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT, " + CAL_EVENT_TTTLE + " TEXT NOT NULL, " +
CAL_EVENT_NOTES + " TEXT NOT NULL, " + CAL_REMINDER_DATE + " TEXT NOT NULL, " +
CAL_EVENT_REPEAT + " INTEGER);";
我调用“FETCHDAYRECORDS”的代码:
final Cursor cursor = dbManager.fetchDayRecords(dateClicked.toString());
dbNumItems = cursor.getCount();
dateCLicked 是一个字符串值,看起来像这样(例如):2019 年美国东部时间 2 月 12 日星期二 00:00:00
为什么我会收到错误消息???它说我的错误是接近“二月”???
是不是因为 table 是空的?我怀疑,我正在检查是否有任何记录......
任何帮助都会有帮助!
提前致谢!
托尼
最佳答案
您的问题是 WHERE 子句中的日期(即 Tue Feb 12 00:00:00 EST 2019)未用引号引起来。
如果您使用查询方法的第 4 个参数,即指定选择参数 (string[]) 并在 WHERE 子句(第 3 个参数)中包含占位符 (?),那么除了被正确地括在引号中,您还可以防止 SQL 注入(inject)。
例如你可以使用
public Cursor fetchDayRecords(String strCalDate) {
String[] columns = new String[]{
Cal_DBHelper.CAL_EVENT_ID, Cal_DBHelper.CAL_EVENT_TTTLE,
Cal_DBHelper.CAL_EVENT_NOTES, Cal_DBHelper.CAL_REMINDER_DATE,
Cal_DBHelper.CAL_EVENT_REPEAT
};
Cursor cursor = database.query(Cal_DBHelper.TABLE_NAME1, columns,
Cal_DBHelper.CAL_REMINDER_DATE + " =?", new String[]{strCalDate},
null, null, null);
cursor.moveToFirst();
return cursor;
}//displayRecordTable1
if (cursor !- null)
没有任何效果,已被删除。 关于android - 如何修复 Android SQLITE_ERROR,错误代码 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54662544/
我在 iOS 应用程序中有一个函数,它从数据库中读取一些数据。功能极其简单: -(void) readCategories { sqlite3 *database; if([[NSFi
如果我想将这些表行放在一起,则会出现以下错误 [SQLITE_ERROR] SQL错误或缺少数据库(输入不完整) 每个人都单独工作。 SELECT x.ActionListId, x.wordinde
我正在尝试使用 Android Room并在关注 this tutorial 之后尝试构建应用程序时出现以下错误: Error:(23, 27) error: 查询有问题:[SQLITE_ERROR]
我正在尝试使用外键创建一个数据库,但我一直收到 no such column: created_at 的错误,即使我没有在代码中的某处使用 created_at 。我想知道为什么以及如何修补这个问题。
我已经为此工作了几个小时,必须让它工作!它阻碍了 iPhone 应用程序的发布...我第一次使用 SQLite。我已遵循所有建议,但我的 sqlite3_prepare_v2 调用每次都会收到 SQL
我正在使用 SQLite3我有一个列,但错误表明未创建列“未定义”。 const SQLite = require('sqlite3').verbose(); const db = new SQLit
我正在编写一个简单的服务器/客户端来跟踪用户登录的次数。用户可以创建一个帐户并将他们的计数设置为 1。后续登录将增加他们在后端 SQLITE3 中的计数数据库。 在下面的示例中,我运行了“添加”函数,
我正在将 Sequelize 与 sqlite 一起使用,当我尝试向表中插入数据时出现错误 Executing (default): INSERT INTO `Users` (`id`,`userna
我正在为我的数据库使用 Sequelize (6.3.0) 和 sqlite3 (4.2.0),我正在尝试定义以下模型: this.define("giveaways", {
这是我的第一个问题。 我正在使用 Room 数据库构建应用程序,并尝试关注 this教程,因为我需要实现多对多关系。 但是,当我尝试构建应用程序时,我不断收到以下错误: 错误:查询有问题:[SQLIT
我正在尝试将 SQLite 与 Java 结合使用,这是第一次将两者结合使用,代码如下: package db; import java.sql.Connection; import java.sql
试图获取一个包含日期和相关注释的表格。我正在发送请求以获取表格和数据,日期 = 我决定的任何内容。 我收到以下错误: E/AndroidRuntime: FATAL EXCEPTION: main
我试图从数据库中获取 rowid,其中有人与刚刚写消息的人具有相同的用户名。当我更改时代码可以工作 WHERE creator` =${member.username} to WHERE match
当我使用flutter并创建表时,出现以下错误! : error DatabaseException(incomplete input (code 1 SQLITE_ERROR): , while c
[SQLITE_ERROR] SQL error or missing database (near "(": syntax error) try { String sql = "SELECT
我已经编写了sequelizer迁移javascript来对表中的现有列进行更改,但是当我运行命令sequelizer db:migrate,它给出了错误 == 20170212050240-alte
我正在尝试使用新的房间库,但出现此错误 Error: There is a problem with the query: [SQLITE_ERROR] SQL error or missing da
我正在使用 sequelize 和 sqlite 在 dicord.j 沙中制作一个不和谐的机器人来制作数据库。它有一个货币系统,当有人在特定 channel 发帖时,我收到了这个错误 Sequeli
我正在尝试在新创建的 SQLite 数据库中创建一个表。由于某种原因,我收到 SQLException: try { logger.debug("Trying to create ta
我有一个报价应用程序,其中使用 SqlLite 数据库来存储报价。当用户打开应用程序时,它将数据从 Assets 复制到数据库。它在所有版本中都工作正常,但在 Android P 中,它在应用程序启动
我是一名优秀的程序员,十分优秀!