SQLiteからデータを挿入して返す方法を説明することから始めましょう。SQliteは0を返す
まず私はこのような表を作成します。
public void insertLesson(String _id, String lessonTitle, String lessonDate, String lessonProblem) {
ContentValues contentValue = new ContentValues();
contentValue.put(SQLiteHelper._ID, _id);
contentValue.put(SQLiteHelper.LESSON_TITLE, lessonTitle);
contentValue.put(SQLiteHelper.LESSON_DATE, lessonDate);
contentValue.put(SQLiteHelper.LESSON_PROBLEM, lessonProblem);
this.getWritableDatabase().insert(SQLiteHelper.TABLE_NAME_STUDENTSPECIFICLESSON, null, contentValue);
}
そして、私はこのような活動から、それを挿入します:その後、私はSQLiteの中で次のようにテーブルに挿入
private static final String CREATE_TABLE_STUDENT_LESSON = " create table STUDENTSPECIFICLESSON (_id TEXT , _viewID INTEGER PRIMARY KEY AUTOINCREMENT , _LESSON_TITLE TEXT , _LESSON_DATE TEXT , _LESSON_PROBLEM TEXT);";
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE_STUDENT_LESSON);
}
sqLiteHelper.insertLesson(id,etLessonTitle.getText().toString(),currentDateandTime,etLessonProbStu.getText().toString());
私が作成したことに気づくでしょう_viewID INTEGER PRIMARY KEY AUTOINCREMENT
私はこれを使用して特定のViewHolderをアダプタに追加します。
は、私はこれを行うことによって、この_viewID
を得る:
public String getLessonViewHolderID(String _path){
String id = null;
Cursor cursor = getReadableDatabase().rawQuery("Select "+SQLiteHelper._viewID+" from "+SQLiteHelper.TABLE_NAME_STUDENTSPECIFICLESSON+" Where "
+SQLiteHelper.LESSON_TITLE +"='"+_path+"'",null);
if (cursor != null) {
cursor.moveToFirst();
}
if (cursor == null) {
} else if (cursor.moveToFirst()) {
do {
id = String.valueOf(cursor.getInt(cursor.getColumnIndex(SQLiteHelper._viewID)));
} while (cursor.moveToNext());
cursor.close();
} else {
}
return id;
}
これは完璧に動作し、期待通りに正しく_viewId
を返します。
私は、このことによって、SQLiteのから_LESSON_PROBLEM
を取得しよう:私は呼ん
public String getLessonProblem(String _id){
String id = null;
Cursor cursor = getReadableDatabase().rawQuery("Select _LESSON_PROBLEM from "+SQLiteHelper.TABLE_NAME_STUDENTSPECIFICLESSON+" Where "
+SQLiteHelper._viewID +"='"+_id+"'",null);
if (cursor != null) {
cursor.moveToFirst();
}
if (cursor == null) {
} else if (cursor.moveToFirst()) {
do {
id = String.valueOf(cursor.getInt(cursor.getColumnIndex("_LESSON_PROBLEM")));
} while (cursor.moveToNext());
cursor.close();
} else {
}
return id;
}
と私Adapter
からの:
String lessonProblem = helper.getLessonProblem(viewId);
上記String lessonProblem
が、その後0
を返します。
私は自分のデータベースをチェックして、すべてのデータが正しく挿入されて、ここに私のデータベースのイメージは次のとおりです。
明確にされていないときには0を返している理由を私は理解できません、誰かが問題の原因を指摘してくれますか?
誰かが私の質問は否決しまった理由を教えていただけますか?投票するために私は何をしましたか? –