WHERE句の整数を使用して行を選択するSQLクエリを作成するにはどうすればよいですか?WHERE句をSELECTクエリに追加するにはどうすればよいですか?
以下は、クエリを使用するコードですが、これは機能していません(結果は返されません)。
public Cursor forEditPurpose(int pos){
db=this.getReadableDatabase();
Cursor res = db.rawQuery("SELECT name,phone FROM mecontact1 where _id = " + pos + "", null);
return res;
}
これは私が必要としているすべての操作を実行し、私のデータベース全体のコードです:
public class ContactDatabase extends SQLiteOpenHelper {
SQLiteDatabase db;
public static final String DATABASE_NAME="totalContact1.db";
public static final String TABLE_NAME="mecontact1";
public static final String NAME="name";
public static final String PHONE="phone";
public static final String UID="_id";
public ContactDatabase(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
try {
db.execSQL("create table mecontact1" +
"(_id integer primary key , name text, phone text)");
}catch(android.database.SQLException e){
System.out.println("table create nhi ho rha");
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS mecontact1");
onCreate(db);
}
public void insertContact(String nam,String mob,int autocrement){
db=this.getWritableDatabase();
ContentValues contentValues=new ContentValues();
contentValues.put(NAME,nam);
contentValues.put(PHONE,mob);
contentValues.put(UID,autocrement);
db.insert(TABLE_NAME, null, contentValues);
db.close();
}
public Cursor showData(){
db=this.getReadableDatabase();
Cursor res = db.rawQuery("SELECT * FROM mecontact1", null);
return res;
}
public Cursor nameData(String dataName){
db=this.getReadableDatabase();
Cursor res = db.rawQuery("SELECT * FROM mecontact1 WHERE name = '"+dataName+"'", null);
return res;
}
public Cursor phoneData(String dataNumber){
db=this.getReadableDatabase();
Cursor res = db.rawQuery("SELECT * FROM mecontact1 WHERE phone = '"+dataNumber+"'", null);
return res;
}
public Cursor phoneName(){
db=this.getReadableDatabase();
Cursor res = db.rawQuery("SELECT * FROM mecontact1 ", null);
return res;
}
public void deleteContact(String d,int pos){
db=this.getWritableDatabase();
db.execSQL("DELETE FROM "+ TABLE_NAME + " WHERE " + UID + " = " + pos +"");
db.execSQL("UPDATE " + TABLE_NAME + " set " + UID + " = (" + UID + "-1) where " + UID + " > " + String.valueOf(pos));
}
public Cursor forEditPurpose(int pos){
db=this.getReadableDatabase();
Cursor res = db.rawQuery("SELECT name,phone FROM mecontact1 where _id = " + pos + "", null);
return res;
}
}
**仕事していないということを**あなたはどういう意味ですか?詳細を教えてください! –
@PrerakSolaこのクエリは行を返さない –
@PrerakSolaはこの正しいクエリですか? –