많은 방법으로 데이터를 sqlite
데이터베이스에 삽입하려고 구현했습니다. 런타임에 실행 된 코드는 삽입 된 ID를 반환하지만 데이터베이스를 확인할 때 아무 것도 삽입되지 않습니다. 누구가 문제인지 아는 사람 있습니까? 미리 감사드립니다.런타임에 삽입 문을 실행했지만 데이터가 iPhone의 데이터베이스에 삽입되지 않았습니다.
sqlite3 *database;
sqlite3_stmt *addStmt;
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSString *dbPath = [[[NSBundle mainBundle] resourcePath]stringByAppendingPathComponent:@"MoviePlayerMgmt.rdb"];
BOOL success =[fileMgr fileExistsAtPath:dbPath];
if(!success)
{
NSLog(@"Cannot locate file %@",dbPath);
}
else{
NSLog(@"__________Open the file__________ %@",dbPath);
if(!(sqlite3_open([dbPath UTF8String], &database)==SQLITE_OK))
{
NSLog(@"An error has occured: %@",[NSString stringWithUTF8String:(char *) sqlite3_errmsg(database)]);
}
else{
NSLog(@"Open database");
NSString *strName = txtName.text;
NSLog(@"Computer name is %@",strName);
NSString *strIP = txtIP.text;
NSString *strPort = txtPort.text;
NSString *insertStatement = [NSString stringWithFormat:@"INSERT INTO COMPUTER (computerName, IPAddress, portNumber) VALUES (\"%@\", \"%@\", \"%@\")", strName, strIP, strPort];
char *error;
if (sqlite3_exec(database, [insertStatement UTF8String], NULL, NULL, &error) == SQLITE_OK)
{
int computerID = sqlite3_last_insert_rowid(database);
NSLog(@"A computer inserted. %d",computerID);
sqlite3_close(database);
}
else
{
NSLog(@"Error: %s", error);
}
}
}
삽입 후 프로그램 적으로 모든 레코드를 검색하려고 했습니까? 레코드가 삽입 되었습니까? –
코드를 디버그하여 데이터가 삽입되지 않은 경우 생성 된 오류를 자세히 알려주십시오. – AJPatel
computerID 값을 확인했는데 값을 반환했습니다. –