私はこのエラーにSQLiteデータベースにデータを挿入する際にエラーが発生しましたか?
07-10 21得続ける:50:06.296:ERROR /データベース(538):android.database.sqlite.SQLiteException:いいえ、そのようなテーブル:タスク:、コンパイル中:タスク。INSERT INTO (記述、時間、タイトル、日付、ステータス)VALUES(?、?、?、?、?);
私はこのコード行を実行します。それを間違った方法で挿入していますか?
private View.OnClickListener onSave = new View.OnClickListener() {
@Override
public void onClick(View v) {
String type = null;
switch(status.getCheckedRadioButtonId()){
case R.id.completed:
type = "completed";
break;
case R.id.in_progress:
type="in-progress";
break;
}
if(taskId == null){
helper.insert(title.getText().toString(), descrip.getText().toString(), date.getText().toString(), time.getText().toString(), status.toString());
Toast.makeText(getBaseContext(), "Task Saved", Toast.LENGTH_SHORT);
}
else{
helper.update(taskId, title.getText().toString(), descrip.getText().toString(), date.getText().toString(), time.getText().toString(), type);
}
finish();
}
};
は、ここに私のSQLデータベースの挿入方法である:
class TaskHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "taskask.db";
private static final int SCHEMA_VERSION = 1;
public TaskHelper(Context context){
super(context, DATABASE_NAME, null, SCHEMA_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE reminders (_id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, descrip TEXT, date TEXT, time TEXT, type TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
}
public Cursor getAll(){
return(getReadableDatabase().rawQuery("SELECT _id, title, descrip, date, time, type FROM reminders ORDER BY title", null));
}
public void insert(String title, String descrip, String date, String time, String status){
ContentValues cv = new ContentValues();
cv.put("title", title);
cv.put("descrip", descrip);
cv.put("date", date);
cv.put("time", time);
cv.put("status", status);
getWritableDatabase().insert("task", "name", cv);
}
public Cursor getById(String id){
String [] args = {id};
return(getReadableDatabase()
.rawQuery("SELECT _id, title, descrip, date, time, status FROM task WHERE _ID=?",args));
}
public void update(String id, String title, String descrip, String date, String time, String type){
ContentValues cv = new ContentValues();
String [] args={id};
cv.put("title", title);
cv.put("descrip", descrip);
cv.put("date", date);
cv.put("time", time);
cv.put("status", type);
getWritableDatabase().update("task", cv, "_ID=?", args);
}
public String getTitle(Cursor c){
return(c.getString(2));
}
public String getDescrip(Cursor c){
return(c.getString(3));
}
public String getDate(Cursor c){
return(c.getString(4));
}
public String getTime(Cursor c){
return(c.getString(5));
}
public String getStatus(Cursor c){
return(c.getString(6));
}
}
どのようにデータベースを準備していますか?あなたはいつテーブルを作成しますか? 「タスク」というテーブルがありますか?特別なカタロギの中にテーブルを作成しましたが、挿入物に指定されていませんか? – zoidbeck
私はdatabseクラスで上記の質問を更新しました。 – yoshi24