이러한 오류와 관련된 많은 게시물을 검색해야했지만 여전히 문제를 해결할 수 없습니다. 여기 내 코드가 있습니다, 누군가가 나에게 잘못되어 가고있는 것을 보도록 도와 줄 수 있습니까? 나는 데이터베이스 문제 (이 경우 오라클)이있을 때 내 DBA가 나에게 말한다해당 테이블 오류 없음
- (void) copyDatabaseIfNeeded {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"SQL.sqlite"];
if (sqlite3_open([path UTF8String], &newDBconnection) == SQLITE_OK)
{
NSLog(@"Database opened successfully");
if(updateStmt == nil) {
NSString *updStmt = [NSString stringWithFormat: @"UPDATE Coffee SET CoffeeName = '500 Plus', Price = '1.40' Where CoffeeID= '3'"];
const char *mupdate_stmt = [updStmt UTF8String];
if(sqlite3_prepare_v2(newDBconnection, mupdate_stmt, -1, &updateStmt, NULL) != SQLITE_OK){
NSAssert1(0, @"Error while creating update statement. '%s'", sqlite3_errmsg(newDBconnection));
} else {
NSLog(@"Update successful");
}
}
if(SQLITE_DONE != sqlite3_step(updateStmt))
NSAssert1(0, @"Error while updating. '%s'", sqlite3_errmsg(newDBconnection));
else {
sqlite3_reset(updateStmt);
NSLog(@"Step successful");
}
}
else
{
NSLog(@"Error in opening database ");
}
}
SQL "SELECT * FROM sqlite_master"를 실행하여 Coffee 테이블을 찾을 수 있으며 데이터베이스가 성공적으로 열립니다. 업데이트 할 때 오류가 발생합니다. – Sunny
@Sunny SQLite 브라우저 또는 Command- 다른 도구를 열 수 있습니다. 'path'를 로그에 덤프하고'UPDATE'를하기 전에'sqlite_master'를 같은 코드로 쿼리하십시오. – hamstergene
괜찮아 .. 지금 일하고있어 :) 고마워. – Sunny