2013-01-21 245 views
0

我希望能够通过按下按钮在我的应用程序中删除SQLite数据库。但是,当我把删除数据库的函数,我得到编译器错误。我如何使用该功能?如何删除SQLite数据库

问题是如何使用这种方法; ourContext.deleteDatabase(DATABASE_NAME); 做我定义的DBcontroller类,还定义DATABASE_NAME的方法还是我把它定义在其他类,我想叫上用onclick监听器的方法。如何在我的应用程序中使用这个deleteDatabase()方法而不出错?

我把deleteDatabase deleteDB内()方法,并希望把这种方法叫做SQLiteExample

其他类的一个onclick听众这里是拥有删除其定义的数据库功能的类。

public class DBcontroller { 

    public static final String KEY_ROWID="_id"; 
public static final String KEY_NAME="persons_name"; 
public static final String KEY_NUMBER="persons_number"; 

private static final String DATABASE_NAME="sampledb"; 
private static final String DATABASE_TABLE="peopleTable"; 
private static final int DATABASE_VERSION = 1; 

    private DbHelper ourHelper; 
    private final Context ourContext; 
    private SQLiteDatabase ourDatabase; 

private static class DbHelper extends SQLiteOpenHelper{ 
    // DbHelper methods 
    } 

    // function to delete database defined here 
    public void deleteDB(){ 
    ourContext.deleteDatabase(DATABASE_NAME); 
} 

这里是叫SQLiteExample第二类,我想从其他类删除名为数据库调用deleteDB方法,DATABASE_NAME

public class SQLiteExample extends Activity implements OnClickListener { 

    public void onClick(View arg0){ 

    switch(arg0.getId()){ 
    case R.id.deleteDatabase: 

      // want to put code to call delete database here 
      // so database is deleted with a button click 
+0

什么是编译器错误说? –

+0

对于“上下文”消息是“上下文无法解析”,而对于“DATABASE_NAME”消息是“无法解析为变量” – Kevik

+0

您是否将此函数放在类中?因为从你的代码看来它不在DbHelper类中。只需检查一次 –

回答

0

要删除数据库使用,

context.deleteDatabase(DATABASE_NAME); 
+0

问题是,我正在为方法context.deleteDatabase(DATABASE_NAME)的“context”和“DATABASE_NAME”获取红色下划线编译错误; – Kevik

+0

编辑你的问题,并告诉你确切的问题..我认为如果你应用简单的编程逻辑,你可以修复错误..只是认为 – Sree

+0

它现在的作品。我认为这个问题比较复杂,发现问题很简单,很容易解决。我不认为我可以很容易地修复它。 – Kevik