Hello friends I am developing application in which view has one textField & 2 buttons. When user clicks on "Add" then text from textfield should be stored in datatabse. When user clicks on "Display"then data fetched from database should be displayed in textField. The code written is like this
//SettingsApplicationViewController.h
#import "FMDatabase.h"
@interface SettingsApplicationViewController : UIViewController {
FMDatabase *db;
IBOutlet UITextField *urlField;
IBOutlet UIButton *insertButton;
IBOutlet UIButton *displayButton;
}
@property(nonatomic, retain) IBOutlet UITextField *urlField;
@property(nonatomic, retain) IBOutlet UIButton *insertButton;
@property(nonatomic, retain) IBOutlet UIButton *displayButton;
-(void)insertButtonClicked :(id)sender;
-(void)displayButtonClicked:(id)sender;
-(id)initApp;
@end
// SettingsApplicationViewController.m
#import "SettingsApplicationViewController.h"
#import "FMDatabase.h"
@implementation SettingsApplicationViewController
@synthesize urlField;
@synthesize insertButton;
@synthesize displayButton;
-(id)initApp
{
if(![super init])
return nil;
//DB stored in application bundle
NSString *DBName = @"SettingDB.sqlite";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingString:DBName];
db = [FMDatabase databaseWithPath:path];
[db setLogsErrors:TRUE];
[db setTraceExecution:TRUE];
if(![db open])
{
NSLog(@"Could not open Database");
return 0;
}
else
{
NSLog(@"Database opened successfully");
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self initApp];
}
-(void)insertButtonClicked :(id)sender
{
[db executeUpdate:@"insert into Settings values (?)",urlField.text];
[self resignFirstResponder];
}
-(void)displayButtonClicked:(id)sender
{
NSString *returnResult = [[NSString alloc]init];
FMResultSet *rs = [db executeQuery:@"select url from Settings"];
while ([rs next])
{
returnResult = [rs stringForColumn:@"url"];
[urlField setText:returnResult];
}
}
// SettingDB.sqlite
CREATE TABLE Settings(url text(50));
I created connections in IB & copied libsqlite3.dylib & FMDatabase file. I dont know why " # " is not printed in this post but I have # in my code.
When I compile this code it is showing 1 error as follows
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
Please help me friends. Thanks