· 8 years ago · Aug 17, 2018, 11:16 AM
1How to create a registration form and save the data on sqlite?
2#import <UIKit/UIKit.h>
3#import "/usr/include/sqlite3.h"
4#import "Confirmation_form.h"
5
6@interface Registration_Form :
7
8UIViewController<UITextFieldDelegate> {
9 Confirmation_form *con_form;
10
11 sqlite3 *test1DB;
12
13 IBOutlet UITextField *UserName;
14 IBOutlet UITextField *Password;
15 IBOutlet UITextField *ConfirmPassword;
16 IBOutlet UITextField *Name;
17 IBOutlet UITextField *Email;
18 IBOutlet UITextField *ContactNO;
19 IBOutlet UITextField *MobileNo;
20 IBOutlet UITextField *Address;
21 NSString *databasePath;
22
23}
24@property(nonatomic,retain)IBOutlet UITextField *UserName;
25
26@property(nonatomic,retain)IBOutlet UITextField *Password;
27
28@property(nonatomic,retain)IBOutlet UITextField *ConfirmPassword;
29
30@property(nonatomic,retain)IBOutlet UITextField *Name;
31
32@property(nonatomic,retain)IBOutlet UITextField *Email;
33
34@property(nonatomic,retain)IBOutlet UITextField *ContactNO;
35
36@property(nonatomic,retain)IBOutlet UITextField *MobileNo;
37
38@property(nonatomic,retain)IBOutlet UITextField *Address;
39
40
41-(IBAction) submit;
42
43#import "Registration_Form.h"
44
45
46@implementation Registration_Form
47@synthesize UserName,Password,ConfirmPassword,Name,Email,ContactNO,MobileNo,Address;
48
49// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
50- (void)viewDidLoad {
51
52 NSString *docsDir;
53
54 NSArray *dirPaths;
55
56
57 dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
58
59 docsDir = [dirPaths objectAtIndex:0];
60
61 databasePath = [[NSString alloc] initWithString: [docsDir stringByAppendingPathComponent:@"test1.db"]];
62
63
64 NSFileManager *filemgr = [NSFileManager defaultManager];
65
66 if([filemgr fileExistsAtPath: databasePath ] == NO)
67 {
68 const char *dbpath = [databasePath UTF8String];
69
70 if(sqlite3_open(dbpath, &test1DB) ==SQLITE_OK)
71 {
72 char *errMsg;
73
74 const char *sql_stmt = "CREATE TABLE IF NOT EXISTS test (ID INTEGER PRIMARY KEY AUTOINCREMENT, USERNAME TEXT, PASSWORD TEXT, CONFIRMPASSWORD TEXT, NAME TEXT, EMAIL TEXT, CONTACTNO MUMBER, MOBILENO NUMBER,ADDRESS TEXT)";
75
76
77 if(sqlite3_exec(test1DB, sql_stmt, NULL, NULL, &errMsg) != SQLITE_OK)
78 {
79 //status.text = @"Failed to create table";
80 }
81 sqlite3_close(test1DB);
82 }else {
83 //status.text = @"Failed to open/create database";
84 }
85
86 }
87 [filemgr release];
88 [super viewDidLoad];
89}
90
91
92-(void)submit
93{
94
95sqlite3_stmt *statement;
96
97 const char *dbpath = [databasePath UTF8String];
98
99 if (sqlite3_open(dbpath, &test1DB) == SQLITE_OK)
100 {
101 NSString *insertSQL = [NSString stringWithFormat:@"INSERT INTO test(UserName,
102
103Password, ConfirmPassword, Name, Email, ContactNO, MobileNo, Address) VALUES ("%@", "%@",
104
105"%@", "%@", "%@", "%@", "%@", "%@")",UserName.text, Password.text, ConfirmPassword.text,
106
107Name.text, Email.text, ContactNO.text, MobileNo.text, Address.text];
108
109 const char *insert_stmt = [insertSQL UTF8String];
110
111 sqlite3_prepare_v2(test1DB, insert_stmt, -1, &statement, NULL);
112
113 if(sqlite3_step(statement) == SQLITE_DONE)
114 {
115 //status.text = @"Contact added";
116 UserName.text = @"";
117 Password.text = @"";
118 ConfirmPassword.text = @"";
119 Name.text = @"";
120 Email.text = @"";
121 ContactNO.text = @"";
122 MobileNo.text = @"";
123 Address.text = @"";
124
125
126 }else {
127 //status.text = @"Failed to add Contact";
128 }
129 sqlite3_finalize(statement);
130 sqlite3_close(test1DB);
131
132 }
133
134 con_form = [[Confirmation_form alloc] initWithNibName:@"Confirmation_form" bundle:[NSBundle
135
136mainBundle]];
137
138 [self.navigationController pushViewController:con_form animated:YES];
139
140}