delete(table,whereClause,whereArgs) is to delete rows in the database.
Two parameters of the method are
table, which is the table to delete from, and
whereClause, which is the optional WHERE clause to apply when deleting.
Passing null will delete all rows.
delete from comments where _id = id;
List of Comment is written as List<Comment> where List is a generic interface that takes a type parameter — in this case, Comment.
getLong(int columnIndex) returns the value of the requested column as a long where
columnIndex: the zero-based index of the target column.
For example, 0 is the first column.
| src/main/java/com/example/wenchen/sqlitedemo/CommentsDataSource.java |
package com.example.wenchen.sqlitedemo;
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
public class CommentsDataSource {
// Database fields
private SQLiteDatabase database;
private MySQLiteHelper dbHelper;
private String[ ] allColumns = { MySQLiteHelper.COLUMN_ID,
MySQLiteHelper.COLUMN_COMMENT };
public CommentsDataSource( Context context ) {
dbHelper = new MySQLiteHelper( context );
}
public void open( ) throws SQLException {
database = dbHelper.getWritableDatabase( );
}
public void close( ) {
dbHelper.close( );
}
public Comment createComment( String comment ) {
// insert into comments values( 'Very nice' );
ContentValues values = new ContentValues( );
values.put( MySQLiteHelper.COLUMN_COMMENT, comment );
long insertId = database.insert( MySQLiteHelper.TABLE_COMMENTS, null, values );
// select * from comments where _id = insertId;
Cursor cursor = database.query( MySQLiteHelper.TABLE_COMMENTS, allColumns,
MySQLiteHelper.COLUMN_ID + " = " + insertId, null, null, null, null );
cursor.moveToFirst( );
return cursorToComment( cursor );
}
public void deleteComment( Comment comment ) {
// delete from comments where _id = id;
long id = comment.getId( );
System.out.println( "Comment deleted with id: " + id );
database.delete( MySQLiteHelper.TABLE_COMMENTS,
MySQLiteHelper.COLUMN_ID + " = " + id, null );
}
public List<Comment> getAllComments( ) {
// select _id, comment from comments;
List<Comment> comments = new ArrayList<Comment>( );
Cursor cursor = database.query( MySQLiteHelper.TABLE_COMMENTS,
allColumns, null, null, null, null, null );
cursor.moveToFirst( );
while ( !cursor.isAfterLast( ) ) {
Comment comment = cursorToComment( cursor );
comments.add( comment );
cursor.moveToNext( );
}
// Make sure to close the cursor.
cursor.close( );
return comments;
}
private Comment cursorToComment( Cursor cursor ) {
Comment comment = new Comment( );
comment.setId( cursor.getLong( 0 ) );
comment.setComment( cursor.getString( 1 ) );
return comment;
}
}
|
|
“Nowadays most people die of a sort of creeping common sense, and discover when it is too late that the only things one never regrets are one’s mistakes.” ― Oscar Wilde, The Picture of Dorian Gray |