Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: iPhone Objective-C iOS
#import "DBManager.h"
static DBManager *sharedInstance = nil;
static sqlite3 *database = nil;
static sqlite3_stmt *statement = nil;
 
@implementation DBManager
+(DBManager*)getSharedInstance{
if (!sharedInstance) {
sharedInstance = [[super allocWithZone:NULL]init];
[sharedInstance createDB];
}
return sharedInstance;
}
 
-(BOOL)createDB{
NSString *docsDir;
NSArray *dirPaths;
// Get the documents directory
dirPaths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = dirPaths[0];
// Build the path to the database file
databasePath = [[NSString alloc] initWithString:
[docsDir stringByAppendingPathComponent: @"student.db"]];
BOOL isSuccess = YES;
NSFileManager *filemgr = [NSFileManager defaultManager];
if ([filemgr fileExistsAtPath: databasePath ] == NO)
{
const char *dbpath = [databasePath UTF8String];
if (sqlite3_open(dbpath, &database) == SQLITE_OK)
{
char *errMsg;
const char *sql_stmt ="create table if not exists studentsDetail (regno integer primary key, name text, department text, year text)";
if (sqlite3_exec(database, sql_stmt, NULL, NULL, &errMsg)
!= SQLITE_OK)
{
isSuccess = NO;
NSLog(@"Failed to create table");
}
sqlite3_close(database);
return isSuccess;
}
else {
isSuccess = NO;
NSLog(@"Failed to open/create database");
}
}
return isSuccess;
}
 

created sqlite db successfully and also added data in it ...
how to delete data in sqlitedb with regno as id....
Posted 13-May-13 3:06am

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Try:
DELETE FROM MyTable WHERE regno=1
 
See also: http://www.sqlite.org/lang_delete.html[^]
  Permalink  
Comments
SanjeevJayaram at 13-May-13 8:41am
   
i need the code for deletion of tabledata for this table "create table if not exists studentsDetail (regno integer primary key, name text, department text, year text)" with regno as id
SanjeevJayaram at 16-May-13 3:16am
   
- (IBAction)deletedata:(id)sender {
NSArray *data1 = [[DBManager getSharedInstance]deletebyregisterno: findByRegisterNumberTextField.text];
if (data1 == nil) {
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:
@"Data not found" message:nil delegate:nil cancelButtonTitle:
@"OK" otherButtonTitles:nil];
[alert show];
}
else
{
NSLog(@"delete success");

}
}
-(NSArray*) deletebyregisterno:(NSString*)registerNumber
{
NSLog(@"here");

const char *dbpath = [databasePath UTF8String];
if (sqlite3_open(dbpath, &database) == SQLITE_OK)
{
NSLog(@"here inside");

NSString *querySQL1 = [NSString stringWithFormat:@"delete from studentDetail where regno=\"%@\"",registerNumber];
const char *querySQL1_stat = [querySQL1 UTF8String];
if (sqlite3_prepare_v2(database, querySQL1_stat,-1, &statement, NULL)== SQLITE_OK)
{
if (sqlite3_step(statement) == SQLITE_DONE)
{
return YES;
NSLog(@"Deleted row");
}
}
else {
return NO;
}
sqlite3_reset(statement);
}
return nil;
 
}
 

whats wrong in this . it displays no data found? plz help me

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Advertise | Privacy | Mobile
Web02 | 2.8.141220.1 | Last Updated 13 May 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100