Click here to Skip to main content
15,867,750 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
#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

1 solution

Try:
SQL
DELETE FROM MyTable WHERE regno=1


See also: http://www.sqlite.org/lang_delete.html[^]
 
Share this answer
 
Comments
SanjeevJayaram 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 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)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900