마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

db생성이 안되는데 왜안되는지 오류좀 봐주실수있으신가요?

0 추천

사용자 정보입력에 관한 db를 생성하려는데 

table customers has no column named lunarcalendar 이렇게 오류가 뜨네요 ㅠ.ㅠ

글자수제한때문에 지웠는데

COLUMN_ID 이부분은 string선언 문제없이 했습니다!

DBManager.java


private static final String DATABASE_CREATE = "create table "
        + Database_Name
        + "("
        + COLUMN_ID + " integer primary key autoincrement, "
        + COLUMN_Name + " text not null, "
        + COLUMN_date + " text not null, "
        + COLUMN_sort + " text not null, "
        +COLUMN_lunar + "text, "
        + COLUMN_alarm + " text not null,"
        +COLUMN_number + " INTEGER , "
        +COLUMN_memo + " text"
        + ");";
public DBManager(Context context){
    super(context,Database_Name, null , 1);
}
@Override
public void onCreate(SQLiteDatabase db){
    db.execSQL(DATABASE_CREATE);
}

 RegisterActivity.java 저장버튼을 누르면 디비 저장되게끔 한부분입니다

public void save(View v){


    EditText et_name = (EditText)findViewById(R.id.name);
    String str_name = et_name.getText().toString();

    TextView et_date = (TextView)findViewById(R.id.pickDate);
    String str_date = et_date.getText().toString();

    RadioGroup rg_sort = (RadioGroup)findViewById(R.id.radiogroup_sort);
    RadioButton rb_birth = (RadioButton)findViewById(R.id.birthday);
    RadioButton rb_anniver = (RadioButton)findViewById(R.id.anniversary);
    RadioButton rb_etc = (RadioButton)findViewById(R.id.etc);

    String str_sort ="";
    if(rg_sort.getCheckedRadioButtonId() == R.id.birthday){
     str_sort =  rb_birth.getText().toString();
    }
    else if(rg_sort.getCheckedRadioButtonId() == R.id.anniversary){
      str_sort = rb_anniver.getText().toString();
    }
    else if (rg_sort.getCheckedRadioButtonId() == R.id.etc) {
      str_sort =  rb_etc.getText().toString();
    }

    CheckBox chk_lunnar = (CheckBox)findViewById(R.id.lunnar);
    String str_lunar="";
    if(chk_lunnar.isChecked()){
     str_lunar = chk_lunnar.getText().toString();
    }


    Spinner tx_alarm = (Spinner)findViewById(R.id.alarmSpinner);
    String str_alarm = tx_alarm.getSelectedItem().toString();


    TextView tv_phonenumber = (TextView)findViewById(R.id.phonenumber);
     String str_number = tv_phonenumber.getText().toString();


    TextView tv_memo = (TextView)findViewById(R.id.memo);
    String str_memo = tv_memo.getText().toString();


    try{
        dbmanager = new DBManager(this);
        sqlitedb =dbmanager.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(dbmanager.COLUMN_lunarcalendar, str_lunar);
        values.put(dbmanager.COLUMN_alarm, str_alarm);
        values.put(dbmanager.COLUMN_number, str_number);
        values.put(dbmanager.COLUMN_memo, str_memo);
       long newRowId = sqlitedb.insert("customers",null,values);
        sqlitedb.close();
        dbmanager.close();
    }catch (Exception e){Toast.makeText(this,"DB등록실패",Toast.LENGTH_LONG).show();}

    Intent n = new Intent(this,MainActivity.class);
    startActivity(n);
}
뚜루루루둡 (1,130 포인트) 님이 2016년 5월 20일 질문
뚜루루루둡님이 2016년 5월 20일 수정

1개의 답변

0 추천
상수를 많이 선언해서 쓰신거 같은데, 보여주지를 않으셔서 확실하지가 않네요.

  일단 판단되는건 lunar 속성을 만드시고는 저장할때에는 lunarcalendar를 저장하시는데, 상수 이름만 그런건지.. 아니면 실제로 다를 경우 lunarcalendar라는 속성이 없어서 해당 오류 메시지가 나는 것 같습니다.
Jinthree (8,980 포인트) 님이 2016년 5월 23일 답변
...