2016-03-07 316 views
0

我是Android新手。我正在尝试更新sqlite数据库中的信息。大部分时间我都能够更新信息,但有时我的手机出现更新错误。我进行了多次调试,它显示我的代码没有任何问题。我正在使用Android版本5.1.1棒棒糖作为测试工具。大多数时候,更新sqlite工作正常,但有时应用程序会崩溃。Android:更新SQLite数据库

以下是我的代码更新代码。请告诉我我的代码有什么问题。

public void updateArticle(String NewName, String oldName) { 
    SQLiteDatabase db = getWritableDatabase(); 
    ContentValues values = new ContentValues(); 
    values.put(COLUMN_ARTICLENAME, NewName); 
    db.update(TABLE_ARTICLE, values, COLUMN_ARTICLENAME + " = '" + oldName + "'", null); 
    db.close(); 
} 

谢谢。

+0

* “但有时我的手机拿出更新的错误” 究竟*什么错误? – m0skit0

+0

你的工作室有什么错误? – Trinity

+0

其实并不是错误,它只是不能更新最新的信息。例如,如果旧名称是Java教程,并将新名称更新为Java编程,则我会调试并看到没有更新到sqlite。但有时我更新,它已成功更新。我感到奇怪。 –

回答

0

您必须更新数据库的版本呢!

@Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     try 
     { 
      db.execSQL(DROP_TABLE); 
      onCreate(db); 
      Message.message(context, "onUpgrade called"); 
     } catch (SQLException e) 
     { 
      Message.message(context, "" + e);   } 
    } 

与DATABASE_VERSION = 1

+0

是的,我有onUpgrade函数来更新数据库的版本。 –

-1

可以有多个Java教程,因此当光标开始查看行时,它会更新不同的行,这不是您预期的行。想象一下,有一个列表视图和你列出的行。拿项目与身份证,并更新它是一个更好的编码习惯。你可以看看下面的链接,我希望它会帮助你的问题。

http://androidopentutorials.com/android-sqlite-example/ http://www.mysamplecode.com/2012/07/android-listview-cursoradapter-sqlite.html

+0

谢谢你的回复 –

+0

不幸我们把地雷声誉:) – Trinity