로컬 데이터베이스 기능을 사용하는 iOS 응용 프로그램이 있습니다. CoreData를 사용하지 않습니다. 내 sqlite 파일을 리소스 번들에서 Documents 폴더로 복사 한 다음 해당 파일에서 데이터를 업데이트/풀합니다. 모든 업데이트, 테이블 만들기, 알고리즘 삽입 내 애플 리케이션에서 완벽하게 작동합니다.ios에서 로컬 데이터베이스 업데이트시 하드 코드 방지
저는 개선이 궁금합니다. 나는 7 개 이상의 테이블을 가지고 있으며 각 테이블마다 다른 속성이 있습니다. 지금은 (단지 예)처럼, 내 코드에서 각 업데이트 문을 지정해야합니다 :
// for table A
const char* sql = "update tableA Set attA1 = ?, attA2 = ? where att0 = ?";
// .. other code here ...
// bind it - this is the part where i am confused.
// each table has different attribute.. So each table will have each binding snippet?
if(sqlite3_prepare_v2(database, sql, 267, &stmt, NULL)==SQLITE_OK){
sqlite3_bind_text(stmt, 1, [input1 UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(stmt, 2, [input2 UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_int(stmt, 3, input0);
}
사과를이 초보자 질문처럼 들리는 경우. 이런 "하드 코딩"을 피할 수 있습니까? 하드 코드를 피할 수있는 방법을 찾지 못했지만, 누군가가 통찰력을 가지고 있는지 궁금합니다. 내가 찾은 가장 가까운 게시물은 this이며, 그의 경우에는 문제가되지 않습니다. 많은 iOS sqlite db 튜토리얼을 보았습니다. 대부분 예제는 예제 1 개만 있으므로이 작업을 수행했습니다.
나는 이것이 분명하고/나쁜 질문이라면 나에게 너무 가혹하지 마십시오. :)
FMDB와 같은 것을 사용할 수도 있고 자신의 SQL 문을 동적으로 구성 할 수도 있습니다. "프레임 워크"를 만들기 위해서는 계획과 코딩이 필요하지만 종종 가치가 있습니다. –