안드로이드 개발 질문/답변
(글 수 45,052)
오늘 데이터베이스 때문에 머리 다 빠지겠네요.
몇시간짼지 같은 문제로....
1.
db = openOrCreateDatabase(DATABASE_NAME, SQLiteDatabase.CREATE_IF_NECESSARY, null);
db.execSQL(C_TABLE);
이런식으로 데이터베이스 생성 후 테이블을 만들면 잘 됩니다.
물론 자료 입력 그리고 자료 조회도 다 됩니다.
하지만 이런식으로 생성된 .db 파일을 외부 SQLite manager로 오픈시에는 아무것도 보이지가 않습니다.(아무 테이블도 안보인다는 말)
2. 반면에 SQlite Manager로 데이터 베이스 만든후 (.sqlite) 테이블을 만들고 나서 그 데이터베이스 파일을 해당 프로젝트에 복사한후
소스에서 데이터 베이스 접속 후 select문을 하면 에러가 납니다.
이유는 no such table .... while compling selct * from .... 이런식으로 말이죠
쿼리상 문제도 전혀 없고 SQLite Manager로 데이터베이스 파일 열면 아무 문제 없습니다.
이 두개의 문제 왜그럴까요? 정말 미치겠습니다 ㅜㅜ
제발 도움 부탁드립니다 ㅜ.ㅜ
몇시간짼지 같은 문제로....
1.
db = openOrCreateDatabase(DATABASE_NAME, SQLiteDatabase.CREATE_IF_NECESSARY, null);
db.execSQL(C_TABLE);
이런식으로 데이터베이스 생성 후 테이블을 만들면 잘 됩니다.
물론 자료 입력 그리고 자료 조회도 다 됩니다.
하지만 이런식으로 생성된 .db 파일을 외부 SQLite manager로 오픈시에는 아무것도 보이지가 않습니다.(아무 테이블도 안보인다는 말)
2. 반면에 SQlite Manager로 데이터 베이스 만든후 (.sqlite) 테이블을 만들고 나서 그 데이터베이스 파일을 해당 프로젝트에 복사한후
소스에서 데이터 베이스 접속 후 select문을 하면 에러가 납니다.
이유는 no such table .... while compling selct * from .... 이런식으로 말이죠
쿼리상 문제도 전혀 없고 SQLite Manager로 데이터베이스 파일 열면 아무 문제 없습니다.
이 두개의 문제 왜그럴까요? 정말 미치겠습니다 ㅜㅜ
제발 도움 부탁드립니다 ㅜ.ㅜ
DDMS를 이용해서...
System장비(or 애물레이트)의 data/data/패키지명/databases디렉토리 밑에 복사되어있는지 확인해 보시는게...
애물레이트라면....콘솔창으로 접속하여 확인해보심이...
원도우 cmd창에서
adb shell 엔트(애물레이트장비 리눅스시스템에 접속)
#프롬포트 뜨면...접속성공
그다음
# sqlite3 /data/data/팩키지명/databases/db명 엔트
sqlite> 프로포트뜨면 접속성공
select * from 테이블명; 확인.....