gpt4 book ai didi

android - 更新一行数据 sqlite android

转载 作者:行者123 更新时间:2023-11-29 17:57:11 24 4
gpt4 key购买 nike

我正在尝试更新我的数据库。它并没有真正更新。我认为这是由于我的更新命令造成的

我的主要 Activity 是 ListView Activity 。我在操作栏上有一个按钮,基本上可以用两个编辑框启动一个新 Activity 。所以一旦我点击那个按钮,我就创建了一个新的数据库项目。它最初设置为两个空字符串。在我的第二个 Activity 中,我有一个保存按钮,可以将我的更改保存到文本框中

所以在我的主要 Activity 将我带到我的第二个 Activity 之后,代码如下

protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.note);

// if new then create new db, else retrieve old database, right now
// assume everything is new

db = new DBHandler(this);
nowAdd = new UENote("", "");
db.addNote(nowAdd);
}

我通过这个函数更新我的 nowAdd 联系人字符串

    public void updateColumnData() {
// gets the strings from edittext
EditText textTitle = (EditText) findViewById(R.id.editText1);
EditText textSubject = (EditText) findViewById(R.id.editText2);

// converts the string
String titleString = textTitle.getText().toString();
String subjectString = textSubject.getText().toString();

nowAdd.setSubject(subjectString);
nowAdd.setTitle(titleString);

db.updateNote(nowAdd);

}

更新笔记函数如下

    public int updateNote(UENote note) {
SQLiteDatabase db = this.getWritableDatabase();

ContentValues values = new ContentValues();
values.put(KEY_TITLE, note.getTitle());
values.put(KEY_SUBJECT, note.getSubject());

// updating row
return db.update(TABLE1, values, KEY_ID + " = ? ",
new String[] { String.valueOf(note.getID()) });
}

最佳答案

确保您在 db.update() 中传递的 id 与您要更新的确实相同。从代码 fragment 中,您如何获取 note.getID() 的值并不明显。您是否正在查询空记录以获取 id

假设 KEY_ID 是一个 auto incremented primary key,然后我将调试 getID() 以检查它是否返回相同的 您要更新的记录的 ID

关于android - 更新一行数据 sqlite android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18562994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com