Это последний введенный метод, который возвращает мне последний id.Последний вставленный идентификатор строки в базу данных успешно вставлен, но для получения этого идентификатора 0?
Код:
-(int)LastId {
int noteID;
NSString * sqlStr;
sqlStr = [NSString stringWithFormat:@"select * from notes"];
sqlite3_stmt *ReturnStatement = (sqlite3_stmt *) [self getStatement: sqlStr];
while(sqlite3_step(ReturnStatement) == SQLITE_ROW){
@try{
noteID=[[NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement, 0)] intValue];
} @catch (NSException *ept) {
NSLog(@"Exception in Method: '%@', Reason: %@", @"loadData", [ept reason]);
}
}
return noteID;
}
Это метод, который я вставил последний обратный идентификатор
-(void)AddNoteImages1:(NSString *)imageName1 andID:(int)notesID{
notesID = [self LastId];
NSString *query = [NSString stringWithFormat:@"insert into image1(image1Name,notes_id) values('%@','%d')",imageName1,notesID];
[self InsUpdateDelData:query];
}
Это метод, который я хочу, чтобы получить последнюю вставленную строку идентификатора
-(NSMutableArray *)loadImages1:(int)note_ID{
NSMutableArray *dataArray =[[NSMutableArray alloc] init];
NSString * sqlStr = [NSString stringWithFormat:@"SELECT * FROM image1 WHERE notes_id = %d",note_ID];
sqlite3_stmt *ReturnStatement = (sqlite3_stmt *) [self getStatement: sqlStr];
while(sqlite3_step(ReturnStatement) == SQLITE_ROW){
@try{
image1DC *imageData = [[image1DC alloc] init];
imageData.image1ID = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement, 0)] intValue];
imageData.image1Name = [NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement, 1)];
[dataArray addObject:imageData];
} @catch (NSException *ept) {
NSLog(@"Exception in %s, Reason: %@", __PRETTY_FUNCTION__, [ept reason]);
}
}
return dataArray;
}
- (недействительными) AddNotes: (NSString *) notesDate andNoteText: (NSString *) notesText { NSString * insertData = [NSString stringWithFormat: @ "вставить в свой блокнот (notes_date_time, notes_text) Значения ('% @', '% @')», notesDate, notesText]; [self InsUpdateDelData: insertData]; – SoftCoder
как вернуть последний вставленный id из этой таблицы query @CL – SoftCoder
Прочитайте документацию, к которой я привязан. Вызовите 'sqlite3_last_insert_rowid()' после того, как вы выполнили INSERT. –