android sqlite3 like,Android SQLiteDatabase query with LIKE

The rest is up to our desing, cursor is commanly same

public ArrayList getAllPasssiveAboneByDate(String mDate) {

ArrayList foodList = new ArrayList<>();

AboneDataList food;

SQLiteDatabase database = dbHelper.getReadableDatabase();

final String kolonlar[] = {DBHelper.COLUMN_A_ID,

DBHelper.COLUMN_A_ABONE_NO,

DBHelper.COLUMN_A_NAME,

DBHelper.COLUMN_A_IS_STUFF,

DBHelper.COLUMN_A_COUNTRY,

DBHelper.COLUMN_A_CITY,

DBHelper.COLUMN_A_TOWN,

DBHelper.COLUMN_A_ADDRESS,

DBHelper.COLUMN_A_PHONE,

DBHelper.COLUMN_A_MOBILE,

DBHelper.COLUMN_A_DATE_START,

DBHelper.COLUMN_A_DATE_END,

DBHelper.COLUMN_A_COUNT,

DBHelper.COLUMN_A_IS_ACTIVE,

DBHelper.COLUMN_A_CARGO,

DBHelper.COLUMN_A_YURT_ID,

DBHelper.COLUMN_A_JOURNAL,

DBHelper.COLUMN_A_MAIL,

DBHelper.COLUMN_A_BUSINESS,

DBHelper.COLUMN_A_BIRTH,

DBHelper.COLUMN_A_GENDER,

DBHelper.COLUMN_A_ABONE_TYPE,

DBHelper.COLUMN_A_MEDENI_TYPE};

//String whereClause = DBHelper.COLUMN_A_JOURNAL + " = ? AND " + DBHelper.COLUMN_A_IS_ACTIVE + " = ? ";

//final String whereArgs[] = {String.valueOf(mJournal),isActive};

//Cursor cursor = database.query(DBHelper.TABLE_ABONE, kolonlar, whereClause, whereArgs,

// null, null, DBHelper.COLUMN_A_ID + " ASC");

Cursor cursor = database.rawQuery("select * from " + DBHelper.TABLE_ABONE + " WHERE "

+ DBHelper.COLUMN_A_DATE_END + " LIKE '%" + mDate + "%'", null);

//Cursor cursor = database.query(DBHelper.TABLE_ABONE, kolonlar, null, null, null, null, DBHelper.COLUMN_A_NAME + " ASC");

while (cursor.moveToNext()) {

food = new AboneDataList();

food.setId(cursor.getInt(cursor.getColumnIndex(DBHelper.COLUMN_A_ID)));

food.setAbone_no(cursor.getInt(cursor.getColumnIndex(DBHelper.COLUMN_A_ABONE_NO)));

food.setName(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_NAME)));

food.setIs_stuff(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_IS_STUFF)));

food.setCountry(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_COUNTRY)));

food.setCity(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_CITY)));

food.setTown(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_TOWN)));

food.setAddress(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_ADDRESS)));

food.setPhone(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_PHONE)));

food.setMobile(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_MOBILE)));

food.setDate_start(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_DATE_START)));

food.setDate_end(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_DATE_END)));

food.setCount(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_COUNT)));

food.setIs_active(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_IS_ACTIVE)));

food.setCargo(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_CARGO)));

food.setYurt_id(cursor.getInt(cursor.getColumnIndex(DBHelper.COLUMN_A_YURT_ID)));

food.setJournal(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_JOURNAL)));

food.setMail(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_MAIL)));

food.setBusiness(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_BUSINESS)));

food.setBirth(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_BIRTH)));

food.setGender(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_GENDER)));

food.setAbone_type(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_ABONE_TYPE)));

food.setMedeni_hal(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_A_MEDENI_TYPE)));

foodList.add(food);

}

database.close();

cursor.close();

return foodList;

}

Android提供了SQLite数据库的支持,可以使用SQLiteOpenHelper类来管理SQLite数据库。SQLiteOpenHelper类有两个重要的方法:onCreate()和onUpgrade()。onCreate()方法用于创建数据库,onUpgrade()方法用于更新数据库。以下是一个简单的示例: ```java public class DatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "mydatabase.db"; private static final int DATABASE_VERSION = 1; private static final String TABLE_NAME = "mytable"; private static final String COLUMN_ID = "_id"; private static final String COLUMN_NAME = "name"; private static final String COLUMN_AGE = "age"; private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_NAME + " TEXT, " + COLUMN_AGE + " INTEGER)"; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); onCreate(db); } } ``` 在上面的示例中,我们创建了一个名为“mydatabase.db”的数据库,其中包含一个名为“mytable”的表。表中包含三个列:_id、name和age。 在onCreate()方法中,我们使用db.execSQL()方法创建了一个名为“mytable”的表。 在onUpgrade()方法中,我们使用db.execSQL()方法删除了名为“mytable”的表,并再次调用onCreate()方法创建新的表。 使用SQLiteOpenHelper类创建数据库后,您可以使用以下代码来执行SQL查询: ```java DatabaseHelper dbHelper = new DatabaseHelper(context); SQLiteDatabase db = dbHelper.getWritableDatabase(); // 插入数据 ContentValues values = new ContentValues(); values.put(DatabaseHelper.COLUMN_NAME, "Tom"); values.put(DatabaseHelper.COLUMN_AGE, 25); long newRowId = db.insert(DatabaseHelper.TABLE_NAME, null, values); // 查询数据 String[] projection = { DatabaseHelper.COLUMN_ID, DatabaseHelper.COLUMN_NAME, DatabaseHelper.COLUMN_AGE }; String selection = DatabaseHelper.COLUMN_NAME + " = ?"; String[] selectionArgs = { "Tom" }; String sortOrder = DatabaseHelper.COLUMN_AGE + " DESC"; Cursor cursor = db.query( DatabaseHelper.TABLE_NAME, // 要查询的表名 projection, // 要返回的列 selection, // WHERE子句 selectionArgs, // WHERE子句中的占位符 null, // GROUP BY子句 null, // HAVING子句 sortOrder // ORDER BY子句 ); // 更新数据 ContentValues values = new ContentValues(); values.put(DatabaseHelper.COLUMN_AGE, 26); String selection = DatabaseHelper.COLUMN_NAME + " LIKE ?"; String[] selectionArgs = { "Tom" }; int count = db.update( DatabaseHelper.TABLE_NAME, values, selection, selectionArgs); // 删除数据 String selection = DatabaseHelper.COLUMN_NAME + " LIKE ?"; String[] selectionArgs = { "Tom" }; int deletedRows = db.delete(DatabaseHelper.TABLE_NAME, selection, selectionArgs); ``` 在上面的示例中,我们使用db.insert()方法插入数据,db.query()方法查询数据,db.update()方法更新数据和db.delete()方法删除数据。注意,这些方法都需要一个表名参数和一个ContentValues对象或一个WHERE子句和一个占位符数组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值