· 6 years ago · Jun 04, 2019, 12:48 PM
1// Declare SQL Query for SQLite
2
3var createStatement = "CREATE TABLE IF NOT EXISTS Contacts (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT, useremail TEXT)";
4
5var selectAllStatement = "SELECT * FROM Contacts";
6
7var insertStatement = "INSERT INTO Contacts (username, useremail) VALUES (?, ?)";
8
9var updateStatement = "UPDATE Contacts SET username = ?, useremail = ? WHERE id=?";
10
11var deleteStatement = "DELETE FROM Contacts WHERE id=?";
12
13var dropStatement = "DROP TABLE Contacts";
14
15 var db = openDatabase("AddressBook", "1.0", "Address Book", 200000); // Open SQLite Database
16
17var dataset;
18
19var DataType;
20
21 function initDatabase() // Function Call When Page is ready.
22
23{
24
25 try {
26
27 if (!window.openDatabase) // Check browser is supported SQLite or not.
28
29 {
30
31 alert('Databases are not supported in this browser.');
32
33 }
34
35 else {
36
37 createTable(); // If supported then call Function for create table in SQLite
38
39 }
40
41 }
42
43 catch (e) {
44
45 if (e == 2) {
46
47 // Version number mismatch.
48
49 console.log("Invalid database version.");
50
51 } else {
52
53 console.log("Unknown error " + e + ".");
54
55 }
56
57 return;
58
59 }
60
61}
62
63function createTable() // Function for Create Table in SQLite.
64
65{
66
67 db.transaction(function (tx) { tx.executeSql(createStatement, [], showRecords, onError); });
68
69}
70
71function insertRecord() // Get value from Input and insert record . Function Call when Save/Submit Button Click..
72
73{
74
75 var usernametemp = $('input:text[id=username]').val();
76
77 var useremailtemp = $('input:text[id=useremail]').val();
78 db.transaction(function (tx) { tx.executeSql(insertStatement, [usernametemp, useremailtemp], loadAndReset, onError); });
79
80 //tx.executeSql(SQL Query Statement,[ Parameters ] , Sucess Result Handler Function, Error Result Handler Function );
81
82}
83
84function deleteRecord(id) // Get id of record . Function Call when Delete Button Click..
85
86{
87
88 var iddelete = id.toString();
89
90 db.transaction(function (tx) { tx.executeSql(deleteStatement, [id], showRecords, onError); alert("Delete Sucessfully"); });
91
92 resetForm();
93
94}
95
96function updateRecord() // Get id of record . Function Call when Delete Button Click..
97
98{
99
100 var usernameupdate = $('input:text[id=username]').val().toString();
101
102 var useremailupdate = $('input:text[id=useremail]').val().toString();
103
104 var useridupdate = $("#id").val();
105
106 db.transaction(function (tx) { tx.executeSql(updateStatement, [usernameupdate, useremailupdate, Number(useridupdate)], loadAndReset, onError); });
107
108}
109
110function dropTable() // Function Call when Drop Button Click.. Talbe will be dropped from database.
111
112{
113
114 db.transaction(function (tx) { tx.executeSql(dropStatement, [], showRecords, onError); });
115
116 resetForm();
117
118 initDatabase();
119
120}
121
122function loadRecord(i) // Function for display records which are retrived from database.
123
124{
125
126 var item = dataset.item(i);
127
128 $("#username").val((item['username']).toString());
129
130 $("#useremail").val((item['useremail']).toString());
131
132 $("#id").val((item['id']).toString());
133
134}
135
136function resetForm() // Function for reset form input values.
137
138{
139
140 $("#username").val("");
141
142 $("#useremail").val("");
143
144 $("#id").val("");
145
146}
147
148function loadAndReset() //Function for Load and Reset...
149
150{
151
152 resetForm();
153
154 showRecords()
155
156}
157
158function onError(tx, error) // Function for Hendeling Error...
159
160{
161
162 alert(error.message);
163
164}
165
166function showRecords() // Function For Retrive data from Database Display records as list
167
168{
169
170 $("#results").html('')
171
172 db.transaction(function (tx) {
173
174 tx.executeSql(selectAllStatement, [], function (tx, result) {
175
176 dataset = result.rows;
177
178 for (var i = 0, item = null; i < dataset.length; i++) {
179
180 item = dataset.item(i);
181
182 var linkeditdelete = '<li>' + item['username'] + ' , ' + item['useremail'] + ' ' + '<a href="#" onclick="loadRecord(' + i + ');">edit</a>' + ' ' +
183
184 '<a href="#" onclick="deleteRecord(' + item['id'] + ');">delete</a></li>';
185
186 $("#results").append(linkeditdelete);
187
188 }
189
190 });
191
192 });
193
194}
195
196$(document).ready(function () // Call function when page is ready for load..
197
198{
199;
200
201 $("body").fadeIn(2000); // Fede In Effect when Page Load..
202
203 initDatabase();
204
205 $("#submitButton").click(insertRecord); // Register Event Listener when button click.
206
207 $("#btnUpdate").click(updateRecord);
208
209 $("#btnReset").click(resetForm);
210
211 $("#btnDrop").click(dropTable);
212
213});