2009-11-30 5 views
-1

나는 모두가 생각하는 간단한 질문입니다. 나는 아이폰 용 데이터베이스로 작업하기 시작했다. 그래서 데이터베이스 "external.sql"을 만들고 Xcode로 가져옵니다.Xcode에서 SQL 데이터베이스 가져 오기 및 작업

간단한 탐색 기반 응용 프로그램을 만들고 module_category에서 모두 표시하려고하지만 작동하지 않는 경우 표가 존재하지 않는다고 말했습니다. 프로젝트에 데이터베이스를 가져올 때 할 수있는 뭔가 특별한


2009-11-30 18:52:00.845 CategoryList[18458:20b] Display all tables in the database :() 
2009-11-30 18:52:00.859 CategoryList[18458:20b] *** Terminating app due to uncaught exception, reason: 'failed to execute statement: 'SELECT * FROM module_category' with message: no such table: module_category' 

거기

:이이 그래서 나는 내 데이터베이스 내의 모든 테이블 콘솔에 표시하려고 노력하지만, 그것은 나에게 아무것도

을 반환하지? 테이블을 표시하기 전에 모든 테이블에 대해 Object를 만들어야합니까?

P.S 감사합니다 : 당신이 이해하지 않는 경우 테스트 프로젝트를 보낼 가능성이있다.

답변

1

여기서는 sqlite3을 사용한다고 가정합니다. 그렇다면 아이폰에 열어 놓은 경로에 데이터베이스 파일이없는 것처럼 보입니다.

데이터베이스 파일이 .app 번들을보고 번들에 복사되고 있는지 확인하십시오. 파일을 번들에 넣으려면 Xcode의 번들 자원 빌드 빌드 단계에 추가하십시오.

데이터베이스 파일이 손상되지 않았는지 확인하십시오. sqlite3 [path to the file inside the bundle]을 사용하여 명령 줄에서 쿼리를 테스트하십시오.

올바른 경로를 사용하여 데이터베이스를 열 었는지 확인하십시오. sqlite3_open을 호출하는 줄에 중단 점을 넣고 파일이 실제로 그 경로에 있는지 확인하십시오.

+0

감사합니다 ~~~ 나는 항상 매우 유용한 브레이크 포인트를 사용하는 것을 잊지 않습니다. 따라서 0 테이블, 0 엔트리를 반환합니다. 나는 데이터베이스를 호출하는 중단 점을 넣었고 디버거에서 다음과 같은 경로를 보았다./Users/ludo/Library/Application Support/iPhone Simulator/User/Applications/6CE1874B-4D60-4829-AF9E-9DAFDADC1081 /Documents/internal.db 앱이이 경로에 새로운 앱을 만들었으므로 앱을 변경하는 방법과 원하는 위치를 알려주는 방법을 모릅니다. 아시다시피 제발 제게 말해 줄 수 있습니다.하지만 그 순간에 나는 그 경로와 그 잘 작동하는 곳에서 나의 데이터베이스를 복사/지나쳐갑니다. – ludo

관련 문제