안드로이드를 공부하는 초보인데요. 테이블 생성과정에서 _id구문이 자동증가키로 설정이 되어 있기때문에 이 구문을 제가 원하는 형태

 

로 바꿔서 사용하고 싶어서 변환해서 사용했더니 에뮬레이터 실행에는 문제가 없지만 다른 조회나, 수정, 삭제 구문에서 불러올때 에러가

 

생기는듯 싶습니다. ㅜㅜ

 

데이터 조회구문

private void selectData() {
  // TODO Auto-generated method stub
  String sql = "SELECT _id, name, addr FROM ";
  sql += T_NAME;
  sql += " WHERE _id = ";
  sql += et1.getText().toString();
  Log.e("selectData(): ",sql);
  try{
   Cursor cur = db.rawQuery(sql, null);
  
   cur.moveToFirst();
   if(cur.getCount() > 0){
    et2.setText(cur.getString(1));
    et3.setText(cur.getString(cur.getColumnIndex("addr")));
   }else{
    showToast("조회 데이타가 없습니다.");
   }
  
  }catch (SQLException se) {
   // TODO: handle exception
   Log.e("selectData()Error! : ",se.toString());
  }  
 }

 

데이터 삭제구문

private void deleteData() {
  // TODO Auto-generated method stub
  String sql = "DELETE FROM ";
  sql += T_NAME;
  sql += " WHERE _id = ";
  sql += et1.getText().toString();
 
  if(!this.execSQL(sql)){
   showToast("Data("+T_NAME+")delete Error!");
  }else{
   showToast("Data("+T_NAME+")delete OK!");
  }
 }

 

데이터 수정구문

private void updateData() {
  // TODO Auto-generated method stub
  String sql = "UPDATE ";
  sql += T_NAME;
  sql += " SET ";
  sql += " name = '";
  sql += et2.getText().toString();
  sql += "', addr = '";
  sql += et3.getText().toString();
  sql += "' WHERE _id = ";
  sql += et1.getText().toString();
 
  if(!this.execSQL(sql)){
   showToast("Data("+T_NAME+")update Error!");
  }else{
   showToast("Data("+T_NAME+")update OK!");
  }
 }

 

데이터 입력구문

private void insertData() {
  // TODO Auto-generated method stub
  String sql = "INSERT INTO ";
  sql += T_NAME;
  sql += "(name,addr,ddate) VALUES ( '";
  sql += et2.getText().toString();
  sql += "', '";
  sql += et3.getText().toString();
  sql += "', "; 
  sql += "date('now') )";
 
  if(!this.execSQL(sql)){
   showToast("Data("+T_NAME+")insert Error!");
  }else{
   showToast("Data("+T_NAME+")insert OK!");
  }
 }

 

테이블 생성구문

private void createTable() {
  // TODO Auto-generated method stub
  String sql = "create table ";
  sql += T_NAME;
  sql += "(_id integer primary key autoincrement, name text not null, ";    >>>>._id입니다. name과 똑같이 text not null을 넣고 구동했습니다.
  sql += "addr text default 'seoul', ddate date)";
 
  try{
   db.execSQL(sql);
   showToast("Table("+T_NAME+")생성 완료!");
  }catch (SQLException se) {
   // TODO: handle exception
   //Log.e("createTable()시오류 : ",se.toString());
  }

 }