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

android sqlite DB를 쓰는데, TEXT 값이 제대로 insert되지 않습니다.

0 추천
db.execSQL("CREATE TABLE contact 
(_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, tel TEXT);");
 

위 쿼리문으로 테이블을 생성했고,

String name = "test";
String tel = "asdasdasd";
db.execSQL("INSERT INTO contact VALUES(null, '" + name +"','"+tel+"');");

 

String 타입의 값 2개를 넣는데, 하나는 제대로 출력되고 하나는 숫자 0이 출력됩니다.

 

대체 왜이러는지 모르겠네요

두번째 값을 숫자로 바꾸면 또 숫자는 출력됩니다;;;

 

테이블 생성이 잘못된것 같아 몇번이나 다시 생성해보았지만 결과는 똑같네요

뭐가 문제인지 잘 모르겠습니다.

 
아우아디 (1,900 포인트) 님이 2016년 9월 28일 질문

2개의 답변

0 추천
아래와 같이 해보세요.

db.execSQL("INSERT INTO contact(name, tel) VALUES('" + name +"','"+tel+"');");
바램 (19,650 포인트) 님이 2016년 9월 28일 답변
수정해보았으나, 두번째 tel값에 숫자 0이 들어갑니다.
0 추천
String sql = "insert into " + tableName + "(_id,name,tel)" + " values(null,'" + name + "', '" + tel + "')";
database.execSQL(sql);
익명사용자 님이 2016년 9월 28일 답변
윗분과 동일한 코드네요... 역시나 안됩니다 ㅠㅠ
...