Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数据库记录未更新android studio、sql lite_Java_Android_Sqlite_Android Studio - Fatal编程技术网

Java 数据库记录未更新android studio、sql lite

Java 数据库记录未更新android studio、sql lite,java,android,sqlite,android-studio,Java,Android,Sqlite,Android Studio,有人能帮我吗?我的记录没有更新。 我猜编辑文本保持不变,但不太确定 如何将放置在edittext中的视图值更改为更新edittext中的值。 如果能帮上点忙,我将不胜感激 多谢各位 数据库管理器 public Cursor selectRow(String ID) { String query = "Select * from " + TABLE_NAME + " where studentID = " + ID; Cursor cursor = db.ra

有人能帮我吗?我的记录没有更新。 我猜编辑文本保持不变,但不太确定

如何将放置在edittext中的视图值更改为更新edittext中的值。 如果能帮上点忙,我将不胜感激 多谢各位

数据库管理器

   public Cursor selectRow(String ID) {
        String query = "Select * from " + TABLE_NAME + " where studentID = " + ID;
        Cursor cursor = db.rawQuery(query, null);
        return cursor;

    }

    public boolean updateData(String id, String fn, String ln, String ge, String cs, String a, String loc) {
        ContentValues contentValues = new ContentValues();
        contentValues.put("studentID", id);
        contentValues.put("first_name", fn);
        contentValues.put("last_name", ln);
        contentValues.put("gender", ge);
        contentValues.put("course_study", cs);
        contentValues.put("age", a);
        contentValues.put("location", loc);
        db.update(TABLE_NAME, contentValues, "studentID = ?", new String[]{id});

        return true;
    }
以上是我在本活动中使用的数据库的一部分

activity main.java

 private void UpdateData() {
                              u.setOnClickListener(
                                      new View.OnClickListener() {
                                          @Override
                                          public void onClick(View v) {
                                              uptable.setVisibility(View.VISIBLE);
                                              again.setVisibility(View.VISIBLE);

                            Cursor res = mydManager.selectRow(text);


                            if (res != null && res.moveToFirst()) {
                                String id = Integer.toString(res.getInt(0));
                                String nme = res.getString(1);
                                String lnme = res.getString(2);
                                String gen = res.getString(3);
                                String corse = res.getString(4);
                                String ag = Integer.toString(res.getInt(5));
                                String lo = res.getString(6);
                                studid.setText(id);
                                fname.setText(nme);
                                lname.setText(lnme);
                                gender.setText(gen);
                                course.setText(corse);
                                age.setText(ag);
                                loc.setText(lo);

                            }


                        }
                    }
            );
        }


        public void UpdateData1() {
            again.setOnClickListener(
                    new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            uptable.setVisibility(View.GONE);
                            String id = studid.getText().toString();
                            String nme = fname.getText().toString();
                            String lnme = lname.getText().toString();
                            String gen = gender.getText().toString();
                            String corse = course.getText().toString();
                            String ag = age.getText().toString();
                            String lo = loc.getText().toString();
                            boolean isUpdated = mydManager.updateData(id, nme , lnme, gen, corse ,ag , lo);
                            if (isUpdated == true)
                                Toast.makeText(Main4Activity.this, "Data Updated", Toast.LENGTH_LONG).show();


                            else
                                Toast.makeText(Main4Activity.this, "Data Not Updated", Toast.LENGTH_LONG).show();
                        }
                    }
            );
        }

我试着用一个按钮来设置数据,但它仍然保持不变。

对不起,我没有阅读代码,如果有帮助的话,就拿这个样本 只是逻辑而已

public long updateNote(NoteModel noteModel) {
    if (LOG_DEBUG) UtilLogger.showLogUpdate(TAG, noteModel, noteModel.getRow_pos());
    long updatedRow = 0;

    try {

        ContentValues contentValues = new ContentValues();
        contentValues.put(DBSchema.DB_TITLE, noteModel.getTitle());
        contentValues.put(DBSchema.DB_IMAGE_PATH, noteModel.getImgUriPath());
        contentValues.put(DBSchema.DB_SUB_TEXT, noteModel.getSub_text());
        contentValues.put(DBSchema.DB_CREATE_DATE, noteModel.getCreateDate());
        contentValues.put(DBSchema.DB_UPDATE_DATE, noteModel.getUpdateDate());
        contentValues.put(DBSchema.DB_SCHEDULED_TIME_LONG, noteModel.getScheduleTimeLong());
        contentValues.put(DBSchema.DB_SCHEDULED_TIME_WHEN, noteModel.getScheduledWhenLong());
        contentValues.put(DBSchema.DB_SCHEDULED_TITLE, noteModel.getScheduledTitle());
        contentValues.put(DBSchema.DB_IS_ALARM_SCHEDULED, noteModel.getIsAlarmScheduled());
        contentValues.put(DBSchema.DB_IS_TASK_DONE, noteModel.getIsTaskDone());
        contentValues.put(DBSchema.DB_IS_ARCHIVED, noteModel.getIsArchived());


        updatedRow = mSqLiteDatabase.updateWithOnConflict(
                DBSchema.DB_TABLE_NAME,
                contentValues,
                DBSchema.DB_ROW_ID + " =?", new String[]{String.valueOf(noteModel.get_id())}, mSqLiteDatabase.CONFLICT_REPLACE);

        return updatedRow;

    } catch (SQLException e) {
        e.printStackTrace();
    }
    return updatedRow;
}
然后取光标

public Cursor getCursorForAlarmScheduled(String passAlarmScheduledStatus) {
    if (LOG_DEBUG)
        Log.w(TAG, " pick all record with alarmScheduled 1  : " + passAlarmScheduledStatus);
    return mSqLiteDatabase.rawQuery(DBSchema.DB_SELECT_ALL +
            " WHERE " + DBSchema.DB_IS_ALARM_SCHEDULED + " = " + passAlarmScheduledStatus, null);
}
然后提取

 //common operation for all,
public static List<NoteModel> extractCommonData(Cursor cursor, List<NoteModel> noteModelList) {
    noteModelList = new ArrayList<>();

    if (LOG_DEBUG) Log.i(TAG, "inside extractCommonData()");
    if (cursor != null) {
        if (cursor.moveToFirst()) {
            do {
                NoteModel noteModel = new NoteModel();

                noteModel.set_id(cursor.getInt(cursor.getColumnIndex(DBSchema.DB_ROW_ID)));
                noteModel.setTitle(cursor.getString(cursor.getColumnIndex(DBSchema.DB_TITLE)));
                noteModel.setImgUriPath(cursor.getInt(cursor.getColumnIndex(DBSchema.DB_IMAGE_PATH)));
                noteModel.setSub_text(cursor.getString(cursor.getColumnIndex(DBSchema.DB_SUB_TEXT)));
                noteModel.setCreateDate(cursor.getLong(cursor.getColumnIndex(DBSchema.DB_CREATE_DATE)));
                noteModel.setUpdateDate(cursor.getLong(cursor.getColumnIndex(DBSchema.DB_UPDATE_DATE)));
                noteModel.setScheduleTimeLong(cursor.getLong(cursor.getColumnIndex(DBSchema.DB_SCHEDULED_TIME_LONG)));
                noteModel.setScheduledWhenLong(cursor.getLong(cursor.getColumnIndex(DBSchema.DB_SCHEDULED_TIME_WHEN)));
                noteModel.setScheduledTitle(cursor.getString(cursor.getColumnIndex(DBSchema.DB_SCHEDULED_TITLE)));
                noteModel.setIsAlarmScheduled(cursor.getInt(cursor.getColumnIndex(DBSchema.DB_IS_ALARM_SCHEDULED)));
                noteModel.setIsTaskDone(cursor.getInt(cursor.getColumnIndex(DBSchema.DB_IS_TASK_DONE)));
                noteModel.setIsArchived(cursor.getInt(cursor.getColumnIndex(DBSchema.DB_IS_ARCHIVED)));
                noteModelList.add(noteModel);

            } while (cursor.moveToNext());
        }
        cursor.close();

    }
    return noteModelList;
}
//所有的通用操作,
公共静态列表extractCommonData(光标、列表noteModelList){
noteModelList=新的ArrayList();
if(LOG_DEBUG)LOG.i(标记“inside extractCommonData()”);
如果(光标!=null){
if(cursor.moveToFirst()){
做{
NoteModel NoteModel=新的NoteModel();
set_id(cursor.getInt(cursor.getColumnIndex(DBSchema.DB_ROW_id));
noteModel.setTitle(cursor.getString(cursor.getColumnIndex(DBSchema.DB_TITLE));
setImgUriPath(cursor.getInt(cursor.getColumnIndex(DBSchema.DB_IMAGE_PATH));
noteModel.setSub_文本(cursor.getString(cursor.getColumnIndex(DBSchema.DB_SUB_文本));
noteModel.setCreateDate(cursor.getLong(cursor.getColumnIndex(DBSchema.DB_CREATE_DATE));
noteModel.setUpdateDate(cursor.getLong(cursor.getColumnIndex(DBSchema.DB_UPDATE_DATE));
noteModel.setScheduleTimeLong(cursor.getLong(cursor.getColumnIndex(DBSchema.DB_SCHEDULED_TIME_LONG));
noteModel.setScheduledWhenLong(cursor.getLong(cursor.getColumnIndex(DBSchema.DB_SCHEDULED_TIME_WHEN));
noteModel.setScheduledTitle(cursor.getString(cursor.getColumnIndex(DBSchema.DB_SCHEDULED_TITLE));
noteModel.setIsAlarmScheduled(cursor.getInt(cursor.getColumnIndex(DBSchema.DB_IS_ALARM_SCHEDULED));
noteModel.setIsTaskDone(cursor.getInt(cursor.getColumnIndex(DBSchema.DB_IS_TASK_DONE));
setIsArchived(cursor.getInt(cursor.getColumnIndex(DBSchema.DB_已存档));
添加(noteModel);
}while(cursor.moveToNext());
}
cursor.close();
}
返回noteModelList;
}
再说一次,我不读书,只是从我的旧样品中抄来的 请找到需要的,干杯