• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

删除Android中的SQLite数据库中的条目

java 来源:Mike 4次浏览

我的名字是迈克尔,我正在编写一个Android应用程序,将作为一个非常基本的课程安排应用程序。到目前为止,我已经能够编写程序,以便能够创建新的类并将其添加到数据库中,但我似乎无法弄清楚如何从数据库中删除选定的条目。这节省了这些项目的按钮定义如下:删除Android中的SQLite数据库中的条目

<Button 
     android:id="@+id/save" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Save" /> 

,它激活听者:

private View.OnClickListener onSave=new View.OnClickListener() { 
     public void onClick(View v) { 
      String type=null; 

      switch (types.getCheckedRadioButtonId()) { 
       case R.id.math: 
        type="math"; 
        break; 
       case R.id.cs: 
        type="cs"; 
        break; 
       case R.id.pe: 
        type="pe"; 
        break; 
       case R.id.elective: 
        type="elective"; 
        break; 
      } 

      if (restaurantId==null) { 
       helper.insert(name.getText().toString(), 
              address.getText().toString(), type, 
              notes.getText().toString()); 
      } 
      else { 
       helper.update(restaurantId, name.getText().toString(), 
              address.getText().toString(), type, 
              notes.getText().toString()); 
      } 

      finish(); 
     } 
    }; 

凡“插入()”方法是,增加了我的辅助类功能入口。

具体的问题是我在编写帮助器类中的’remove()’函数时遇到了麻烦。我曾尝试使用getWritableDatabase.delete()函数,但我无法找到正确的参数。任何正确的方向对我来说都是一大帮助。先谢谢你。

如果有帮助可言,这是插入()函数:

public void insert(String name, String address, 
      String type, String notes) { 
     ContentValues cv=new ContentValues(); 

     cv.put("name", name); 
     cv.put("address", address); 
     cv.put("type", type); 
     cv.put("notes", notes); 

     getWritableDatabase().insert("restaurants", "name", cv); 
    } 

===========解决方案如下:

您是否有兴趣在这样的事情?

public void deleteValue(String value) 
    { 
     SQLiteDatabase db = getWritableDatabase(); 

     String whereClause = "name"+"=?"; 
     String[]whereArgs = new String[] {String.valueOf(value)}; 
      db.delete(TABLE_NAME, whereClause, whereArgs); 
      db.close(); 
      Log.v("done","deleted row "); 
    } 

这里的deleteValue参数值()是在此基础上,我们愿意删除行(如删除基于名称行),所以我们用它作为where子句的一个。

看到线

String whereClause = "name"+"=?"; 
      String[]whereArgs = new String[] {String.valueOf(value)}; 

这可以假定为与where子句为where name = value;


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)