2016-06-11 2 views
0

정수형 절을 사용하여 데이터베이스를 쿼리하는 방법 .i 정수형 절을 사용하여 쿼리를 삭제할 수 있습니다. (이 경우 원하는 : - "delete table_name where name = myname 그리고 id = 정수 값") 데이터베이스 쿼리에 대한 지식이 부족합니다. . 단지 SQL 문자열로 넣어, 정수 값에 대한정수 절을 사용하는 쿼리 데이터베이스?

public class ContactDatabase extends SQLiteOpenHelper { 
    SQLiteDatabase db; 
    public static final String DATABASE_NAME="totalContact.db"; 
    public static final String TABLE_NAME="mecontact"; 
    public static final String NAME="name"; 
    public static final String PHONE="phone"; 


    public ContactDatabase(Context context) { 
     super(context, DATABASE_NAME, null, 1); 

    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
     try { 
      db.execSQL("create table mecontact" + 
        "(_id integer primary key autoincrement, 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 mecontact"); 
     onCreate(db); 
    } 

    public void insertContact(String nam,String mob){ 

     db=this.getWritableDatabase(); 
     ContentValues contentValues=new ContentValues(); 

     contentValues.put(NAME,nam); 
     contentValues.put(PHONE,mob); 

     db.insert(TABLE_NAME, null, contentValues); 
     db.close(); 
    } 

    public void deleteContact(String d,int pos){ 
     db=this.getWritableDatabase(); 
     db.delete(TABLE_NAME,"name='"+d+"' AND /*what is for _id column*/); 
    } 
} 
+0

** 경고 ** : 당신은 (어떤 [탈출]없이'd'를 주입하고 http://bobby-tables.com/java.html) 여기에 [주입 구멍] (http://bobby-tables.com/)을 만들었습니다. 이것에 조심하십시오. – tadman

답변

0

:

이 내 데이터베이스입니다. (문자열의 경우, 대신 매개 변수를 사용해야합니다.)

db.delete(TABLE_NAME, "name = ? AND _id = " + pos, 
      new String[]{ d }); 
관련 문제