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

EditText에 값을 입력 받아 sqlite 에 저장하고 싶은데 오류나네요..

0 추천
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
      
 
     
        Button btn = (Button)findViewById(R.id.button_send);
        btn.setOnClickListener(this);
        Button btn2 = (Button)findViewById(R.id.button_cancel);
        btn2.setOnClickListener(this);
  edit_id = (EditText) findViewById(R.id.edit_id);
  edit_pass = (EditText) findViewById(R.id.edit_id);
    }

  public void onClick(View v) {
     if (v.getId() == R.id.button_send){
      if ((edit_id.getText().toString().equals("")) ||
       (edit_pass.getText().toString().equals(""))) {
     Toast.makeText(getApplicationContext(), "자료 입력 바람",
       Toast.LENGTH_SHORT).show(); }
   else {
    mHelper.getWritableDatabase();

    db.execSQL("insert into member (id) values ("+edit_id+")");
    db.execSQL("insert into member (pass) values ("+edit_pass+")");
   }
     }
    }

 

혹시 여기 문제가 있는지 조언좀 부탁드려요ㅜㅜ
채채 (400 포인트) 님이 2013년 5월 27일 질문
오류가 나는 부분은 어디인가요? 그리고 insert를 나눠서 하는 이유가 뭔가요? 지금 방식으로 하면 insert가 두번 되서 id 만있는 row, pass만 있는 row  2개가 생성이 될텐데요..

1개의 답변

0 추천
 
채택된 답변

답변고마워요!

그래서    

 db.execSQL("INSERT INTO member VALUES ( '" + edit_id.getText().toString() + "' , " + edit_pass.getText() + ");");

바꿨는데 맞는지요,,;

에러는 이런식으로 뜨네요

익명사용자 님이 2013년 5월 28일 답변
채채님이 2013년 5월 31일 채택됨
db.execSQL("INSERT INTO member VALUES ( '" + edit_id.getText().toString() + "' , '" + edit_pass.getText().toString() + "')");
참고로 execSQL말고 insert 메소드 쓰시는게 더 편합니다.
ContentValues values = new ContentValues();
values.put("id", edit_id.getText().toString() );
values.put("pass", edit_pass.getText().toString() );
db.insert("member", null, values);
이런식으로요~
고마워요 친구도 contentValues가 더 편하다고 하더라구여
근데 이게 문제가 아니라 제가 딴부분을 잘못했나보네여
여전히 안됨ㅜㅜ
...