-(void) deletedata:(id) sender
{
if(deleteStmt == nil)
{
const char *sql = "delete from cosmicnumber where name='%@' ";
if(sqlite3_prepare_v2(db2, sql, -1, &deleteStmt, NULL) != SQLITE_OK)
NSAssert1(0, @"Error while creating delete statement. '%s'", sqlite3_errmsg(db2));
NSLog(@"%@",strNam);
}
//When binding parameters, index starts from 1 and not zero.
sqlite3_bind_text(deleteStmt, 1, [strNam UTF8String], -1, SQLITE_TRANSIENT);
if (SQLITE_DONE != sqlite3_step(deleteStmt))
NSAssert1(0, @"Error while deleting. '%s'", sqlite3_errmsg(db2));
sqlite3_reset(deleteStmt);
}
1
A
답변
0
sqlite로 연결하기 위해 여기에서 사용하는 것이 무엇입니까 ?? 즉, coredata를 사용하면 작은 논리로 코드를 쉽게 사용할 수 있습니까?
같은 ...
-(void) deleteAllData {
NSManagedObjectContext *moc = appDelegate.managedObjectContext;///your data which store in coredata
//---------------Fetching and Deleting Category---------
NSFetchRequest *fetchRequest;
NSEntityDescription *entity;
NSArray *arrobjects;
NSError *error;
//---------------Fetching and Deleting ITems---------
fetchRequest = [[NSFetchRequest alloc] init];
entity = [NSEntityDescription entityForName:@"yourEntity" inManagedObjectContext:moc]; ///use your entity name..
[fetchRequest setEntity:entity];
arrobjects = [moc executeFetchRequest:fetchRequest error:nil];//arrobjects is array which stor youe another array or record which you want to delete
for (NSManagedObject *managedObject in arrobjects) {
[moc deleteObject:managedObject];
}
error = nil;
[moc save:&error];
}
후 reloadData
방법
[yourTable reloadData];
희망이 도움이 당신에게 .. :
1
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
sqlite3_stmt *stmt;
if (sqlite3_open([[objdelegate getDBPath] UTF8String], &dbtest) == SQLITE_OK){
NSString *deleteSQL =[NSString stringWithFormat:@"DELETE from test where test_Id=\"%@\"",[objdelegate.listOfTestId objectAtIndex:indexPath.row]];
NSLog(@"Query : %@",deleteSQL);
const char *delete_stmt=[deleteSQL UTF8String];
sqlite3_prepare_v2(dbtest, delete_stmt, -1, &stmt, NULL);
if(sqlite3_step(stmt) == SQLITE_DONE)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Delete" message:@"Record Deleted..!!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[alert release];
}
else
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Delete" message:@"Record Not Deleted..!!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[alert release];
}
}
}
[self getdata]; // Here Call your main getdata function from where you are fetching your data from database
[tableView reloadData];
}
0
아마,이 뜻이 다시로드 테이블 도와주세요. 여기서 _allDownloadedSongs는 테이블을 채우는 배열이고 deleteRowFromDatabase는 array, database 및 talbeView에서 특정 행을 삭제하는 메소드입니다. (jQuery과 * : (무효)있는 tableView -
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *strQuery;
NSString *deleteRow;
if (editingStyle == UITableViewCellEditingStyleDelete)
{
[tblView beginUpdates];
NSMutableDictionary *dic = (NSMutableDictionary *)[_allDownloadedSongs objectAtIndex:indexPath.row];
deleteRow = [dic valueForKey:@"Id"];
[self deleteRowFromDatabase:deleteRow];
[_allDownloadedSongs removeObjectAtIndex:indexPath.row];
[tblView deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationFade];
[tblView endUpdates];
}
}
// 그리고이 코드를 시도
- (void)deleteRowFromDatabase:(NSString *)deleteRow
{
AppDelegate *obj = (AppDelegate *)[[UIApplication sharedApplication]delegate];
NSString *strQuery = [NSString stringWithFormat:@"DELETE FROM DownloadedSongs WHERE Id=%d", rowId];
[obj InsUpdateDelData:strQuery];
}
관련 문제
- 1. 테이블 뷰에서 행을 삭제할 수 없습니다.
- 2. 테이블 뷰에서 행을 삭제할 때 메모리 누수가 발생했습니다.
- 3. 어떻게 안드로이드에서 그리드 뷰에서 동적으로 행을 삭제할 수 있습니까
- 4. 테이블 뷰에서 행을 삭제합니다.
- 5. iOS는 테이블 뷰에서 행을 애니메이션화합니다.
- 6. 테이블 뷰에서 모든 행을 볼 수 없음
- 7. AJAX를 사용하여 양식 컨트롤로 테이블 행을 작성/삭제할 수 있습니까?
- 8. 행을 삭제할 때 테이블 뷰 충돌이 발생합니까?
- 9. iPhone의 UItable보기에서 행을 삭제할 수 없습니까?
- 10. Hypertable에서 여러 행을 삭제할 수 있습니까?
- 11. 파일에서 여러 행을 삭제할 수 있습니까?
- 12. 어떻게하면 sqlite에서 테이블을 삭제할 올바른 순서를 알아낼 수 있습니까?
- 13. 어떻게하면 jtable에서 행을 지정할 수 있습니까?
- 14. MySQL에서 행을 삭제할 수 없습니다
- 15. 테이블에서 행을 삭제할 수 없습니다.
- 16. IBAction을 기반으로 테이블 뷰에서 행을 제거하십시오.
- 17. android에서 sqlite의 관계 테이블
- 18. 테이블 뷰에서 행을 탭할 때 팝업을 닫습니다.
- 19. 새 테이블 뷰에서 선택한 행을 표시합니다.
- 20. 테이블 뷰에서 행을 선택하면 메소드가 트리거됩니다.
- 21. SQLite의 마지막 행을 업데이트 할 수 없습니다.
- 22. 어떻게하면 이미지 뷰에서 이미지의 크기를 줄일 수
- 23. SQLite의 시스템 테이블 목록
- 24. 테이블 뷰에서 섹션을 이동할 수 있습니까?
- 25. 데이터 뷰에서 여러 행을 필터링하는 방법
- 26. 어떻게하면 * ALL * 파일과 디렉토리를 git 저장소에서 삭제할 수 있습니까?
- 27. MySQL이 DATETIME이 _보다 오래된 행을 자동 삭제할 수 있습니까?
- 28. Jquery, 어떻게하면 테이블 행을 제거한 후 테이블 행 색상을 유지할 수 있습니까?
- 29. SSRS 보고서에서 보고서 행을 숨기거나 삭제할 수 있습니까?
- 30. 어떻게하면 메인 뷰에서 iphone의 서브 뷰로 선을 그릴 수 있습니까?
삭제 데이터베이스에 대한 .. 희망이 .. –
고맙습니다 코멀을 문제를 해결할 것입니다, 그것은 작동하지만,하지에의) tableView commitEditingStyle : (UITableViewCellEditingStyle) editingStyle forRowAtIndexPath : (NSIndexPath *) indexPath입니다. 그것은 내가 행에서 찍은 버튼에 대한 작업이지만 문제는 그것이 마지막 행을 삭제할 때마다 첫 번째 행을 선택합니다. – garry
이 코드가 작동한다면 내 대답을 upvote. 현재 인덱스 값을 가져 오지 않는다고 생각합니다. 현재 인덱스를 가져온 다음 위의 코드에서 해당 인덱스를 전달해야합니다. –