作者:2d15064efa_556 | 来源:互联网 | 2023-05-30 10:53
我想检查SQLite数据库中是否存在记录,这是我到目前为止所做的.当我搜索已经存在的记录时,我从列表中的EditText获取值. //code from activity class pu
我想检查SQLite数据库中是否存在记录,这是我到目前为止所做的.当我搜索已经存在的记录时,我从列表中的EditText获取值.
//code from activity class
public View.OnClickListener searchStation = new View.OnClickListener() {
@Override
public void onClick(View v) {
arrayAdapterList=new ArrayAdapter(SearchAndReview.this,android.R.layout.simple_list_item_1,list);
String searchTextFinal=searchText.getText().toString();
dbms.searchStation(searchTextFinal);
Cursor cursor= dbms.searchStation(searchTextFinal);
list.add(searchTextFinal);
arrayAdapterList= new ArrayAdapter(SearchAndReview.this,android.R.layout.simple_list_item_1, list);
listView.setAdapter(arrayAdapterList);
}
};
//来自databasehelper类的代码
public Cursor searchStation(String name){
SQLiteDatabase database = this.getWritableDatabase();
String searchStatiOnQuery= "SELECT stationName FROM review WHERE statiOnId='"+ name+"'";
Cursor c =database.rawQuery(searchStationQuery,null);
if (c != null && c.moveToFirst()) {
}
return c;
}
解决方法:
我在我的应用程序中使用此代码,它可以实现…
LoginActivity.java
DatabaseHelper dbHelper = new DatabaseHelper(getApplicationContext());
String email_id = email.getText().toString();
boolean dbHelper.isExist(email_id);
// if record is exist then it will return true otherwise this method returns false
使用rawQuery
public boolean isExist(String strEmailAdd) {
db = this.getReadableDatabase();
cur = db.rawQuery("SELECT * FROM " + USER_TABLE + " WHERE email_id = '" + strEmailAdd + "'", null);
boolean exist = (cur.getCount() > 0);
cur.close();
db.close();
return exist;
}
使用db.query
public boolean isExist(String strEmailAdd){
String whereClause = "email_id = ?";
String[] whereArgs = new String[]{strEmailAdd};
db = database.getWritableDatabase();
cur = db.query(USER_TABLE, null, whereClause, whereArgs, null, null, null);
boolean exist = (cur.getCount() > 0);
cur.close();
db.close();
return exist;
}