【发布时间】:2014-01-26 13:02:41
【问题描述】:
我正在尝试将一些数据插入到 Android 系统上的 SQLite3 数据库中。
这个方法应该接受三个字符串并将它们插入数据库:
public void createEntry(String description, String reps, String weight)
{
ContentValues cv = new ContentValues();
cv.put(KEY_DESCRIPTION, description);
cv.put(KEY_REPS, reps);
cv.put(KEY_WEIGHT, weight);
sqlDB.insert(DATABASE_TABLE, null, cv);
}
列(KEY_DESCRIPTION,..)都定义为 TEXT NOT NULL,我还添加了一个自动递增列。
在我的主要活动中,我使用此代码从 EditText Widgets 获取输入
字符串描述 = sqlDescription.getText().toString();
然后我正在创建我的 DB 类的实例:
DB entry = new DB(MainActivity.this);
entry.open();
entry.createEntry(description, reps, weight);
entry.close();
open() 使用 SQLiteOpenHelper 并设置数据库:
public DB open()
{
sqlHelper = new dbHelper(sqlContext);
sqlDB = sqlHelper.getWritableDatabase();
return this;
}
但是当我调用这个方法时:
entry.createEntry(description, reps, weight);
我收到以下错误:
(1) “表”附近:语法错误
E/SQLiteDatabase(19344):插入错误 Description=test Weight=tesz Reps=test
E/SQLiteDatabase(19344):android.database.sqlite.SQLiteException:靠近“表”:语法错误
(代码 1):,编译时:INSERT INTO Table(Description,Weight,Reps) VALUES (?,?,?)
【问题讨论】:
-
请分享
DATABASE_TABLEString的值 -
私有静态最终字符串 DATABASE_TABLE = "Table";
标签: android sqlite sql-insert