Releases: paulocaldeira17/angular-websql
Angular WebSql Service v1.1.0
- selectLimit(string table, object where, int limit)
- selectAllLimit(string table, int limit)
- selectOne(string table)
- executeQueries([object queries], [[object values]])
- addColumns(string tableName, object newColumns)
- createOrAlterTable(string tableName, object iColumns)
Angular WebSql Service v1.0.2
Angular WebSql Service
Helps you generate websql simple queries and run them without writing any sql code.
Setup
bower install angular-websql
- Include the
angular-websql.min.js
and angular itself. - Add
angular-websql
as a module dependency to your app.
Usage
1- Add $webSql
provider to a controller.
2- Open a database. See method.
3- Use returned database object's methods.
Methods
Open Database
$webSql.openDatabase(dbName, version, desc, size)
Example:
$scope.db = $webSql.openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
1- Database name
2- Version number
3- Text description
4- Size of database
Returns
An object, containing database operation methods, is returned with openDatabase
method.
All methods return a promise which takes query result object as parameter.
These methods are:
Database Methods
Create Table
createTable(string tableName, object fields)
Example:
createTable('user', {
"id":{
"type": "INTEGER",
"null": "NOT NULL", // default is "NULL" (if not defined)
"primary": true, // primary
"auto_increment": true // auto increment
},
"created":{
"type": "TIMESTAMP",
"null": "NOT NULL",
"default": "CURRENT_TIMESTAMP" // default value
},
"username":{
"type": "TEXT",
"null": "NOT NULL"
},
"password": {
"type": "TEXT",
"null": "NOT NULL"
},
"age": {
"type": "INTEGER"
}
})
Drop Table
dropTable(string tableName)
Insert
insert(string tableName, object fields, boolean replace)
Example:
$scope.db.insert('user', {"username": 'pc', "password": '1234', 'age': 22}).then(function(results) {
console.log(results.insertId);
})
INSERT INTO user (username, password, age) VALUES('pc', '1234', 22)
Update
update(string tableName, object fields)
Examples:
$scope.db.update("user", {"username": 'paulo.caldeira'}, {
'id': 1
})
UPDATE user SET username='paulo.caldeira' WHERE id=1
$scope.db.update("user", {"age": 23}, {
"username": {
"operator":'LIKE',
"value":'paulo.*',
"union":'AND' // condition suffix
},
"age": 22
})
UPDATE user SET age=23 WHERE username LIKE 'paulo.*' AND age=22
Delete
delete(string tableName, object where)
$scope.db.del("user", {"id": 1})
DELETE user WHERE id=1
Select
select(string tableName, object where)
$scope.db.select("user", {
"age": {
"value":'IS NULL',
"union":'AND'
},
"username":'IS NOT NULL'
}).then(function(results) {
$scope.users = [];
for(i=0; i < results.rows.length; i++){
$scope.users.push(results.rows.item(i));
}
})
SELECT * FROM user WHERE age IS NULL AND username IS NOT NULL
Select All
selectAll(string tableName)
$scope.db.selectAll("user").then(function(results) {
$scope.users = [];
for(var i=0; i < results.rows.length; i++){
$scope.users.push(results.rows.item(i));
}
})
SELECT * FROM user
Operators
Your can use common operators like =
, >=
, <=
and LIKE
. You can use also IS NULL
and NOT NULL
as condition values.
Contributors
Thanks to github community, our libraries do not depend only from our work but also from work of contributors. I want to thank all those who in any way participated in the development of this library.
Special thanks to these contributors:
Changelog
v1.0.2
- prevent empty operator in where clause
- insert method update with replace flag to "INSERT OR REPLACE" queries
v1.0.1
- escape single quote or double quote value(s)
- changing callback to angular promise
Angular WebSql Service v1.0.1
Angular WebSql Service
Helps you generate websql simple queries and run them without writing any sql code.
Setup
bower install angular-websql
- Include the
angular-websql.min.js
and angular itself. - Add
angular-websql
as a module dependency to your app.
Usage
1- Add $webSql
provider to a controller.
2- Open a database. See method.
3- Use returned database object's methods.
Methods
Open Database
$webSql.openDatabase(dbName, version, desc, size)
Example:
$scope.db = $webSql.openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
1- Database name
2- Version number
3- Text description
4- Size of database
Returns
An object, containing database operation methods, is returned with openDatabase
method.
All methods return a promise which takes query result object as parameter.
These methods are:
Database Methods
Create Table
createTable(string tableName, object fields)
Example:
createTable('user', {
"id":{
"type": "INTEGER",
"null": "NOT NULL", // default is "NULL" (if not defined)
"primary": true, // primary
"auto_increment": true // auto increment
},
"created":{
"type": "TIMESTAMP",
"null": "NOT NULL",
"default": "CURRENT_TIMESTAMP" // default value
},
"username":{
"type": "TEXT",
"null": "NOT NULL"
},
"password": {
"type": "TEXT",
"null": "NOT NULL"
},
"age": {
"type": "INTEGER"
}
})
Drop Table
dropTable(string tableName)
Insert
insert(string tableName, object fields)
Example:
$scope.db.insert('user', {"username": 'pc', "password": '1234', 'age': 22}).then(function(results) {
console.log(results.insertId);
})
INSERT INTO user (username, password, age) VALUES('pc', '1234', 22)
Update
update(string tableName, object fields)
Examples:
$scope.db.update("user", {"username": 'paulo.caldeira'}, {
'id': 1
})
UPDATE user SET username='paulo.caldeira' WHERE id=1
$scope.db.update("user", {"age": 23}, {
"username": {
"operator":'LIKE',
"value":'paulo.*',
"union":'AND' // condition suffix
},
"age": 22
})
UPDATE user SET age=23 WHERE username LIKE 'paulo.*' AND age=22
Delete
delete(string tableName, object where)
$scope.db.del("user", {"id": 1})
DELETE user WHERE id=1
Select
select(string tableName, object where)
$scope.db.select("user", {
"age": {
"value":'IS NULL',
"union":'AND'
},
"username":'IS NOT NULL'
}).then(function(results) {
$scope.users = [];
for(i=0; i < results.rows.length; i++){
$scope.users.push(results.rows.item(i));
}
})
SELECT * FROM user WHERE age IS NULL AND username IS NOT NULL
Select All
selectAll(string tableName)
$scope.db.selectAll("user").then(function(results) {
$scope.users = [];
for(var i=0; i < results.rows.length; i++){
$scope.users.push(results.rows.item(i));
}
})
SELECT * FROM user
Operators
Your can use common operators like =
, >=
, <=
and LIKE
. You can use also IS NULL
and NOT NULL
as condition values.
Changelog
v1.0.1
- escape single quote or double quote value(s)
- changing callback to angular promise
Angular WebSql Service v1.0.0
Angular WebSql Service
Helps you generate websql simple queries and run them without writing any sql code.
Setup
bower install angular-websql
- Include the
angular-websql.min.js
and angular itself. - Add
angular-websql
as a module dependency to your app.
Usage
1- Add $webSql
provider to a controller.
2- Open a database. See method.
3- Use returned database object's methods.
Methods
Open Database
$webSql.openDatabase(dbName, version, desc, size)
Example:
$scope.db = $webSql.openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
1- Database name
2- Version number
3- Text description
4- Size of database
Returns
An object, containing database operation methods, is returned with openDatabase
method.
All methods has optional callback parameter which takes query result object as parameter.
These methods are:
Database Methods
Create Table
createTable(string tableName, object fields, [callback])
Example:
createTable('user', {
"id":{
"type": "INTEGER",
"null": "NOT NULL", // default is "NULL" (if not defined)
"primary": true, // primary
"auto_increment": true // auto increment
},
"created":{
"type": "TIMESTAMP",
"null": "NOT NULL",
"default": "CURRENT_TIMESTAMP" // default value
},
"username":{
"type": "TEXT",
"null": "NOT NULL"
},
"password": {
"type": "TEXT",
"null": "NOT NULL"
},
"age": {
"type": "INTEGER"
}
})
Drop Table
dropTable(string tableName, [callback])
Insert
insert(string tableName, object fields, [callback])
Example:
$scope.db.insert('user', {"username": 'pc', "password": '1234', 'age': 22}, function(results) {
console.log(results.insertId);
})
INSERT INTO user (username, password, age) VALUES('pc', '1234', 22)
Update
update(string tableName, object fields, [callback])
Examples:
$scope.db.update("user", {"username": 'paulo.caldeira'}, {
'id': 1
})
UPDATE user SET username='paulo.caldeira' WHERE id=1
$scope.db.update("user", {"age": 23}, {
"username": {
"operator":'LIKE',
"value":'paulo.*'
"union":'AND' // condition suffix
},
"age": 22
})
UPDATE user SET age=23 WHERE username LIKE 'paulo.*' AND age=22
Delete
delete(string tableName, object where, [callback])
$scope.db.del("user", {"id": 1})
DELETE user WHERE id=1
Select
select(string tableName, object where, [callback])
$scope.db.select("user", {
"age": {
"value":'IS NULL',
"union":'AND'
},
"username":'IS NOT NULL'
}, function(results) {
$scope.users = [];
for(i=0; i < results.rows.length; i++){
$scope.users.push(results.rows.item(i));
}
$scope.$apply();
})
SELECT * FROM user WHERE age IS NULL AND username IS NOT NULL
Select All
selectAll(string tableName, [callback])
$scope.db.selectAll("user", function(results) {
$scope.users = [];
for(i=0; i < results.rows.length; i++){
$scope.users.push(results.rows.item(i));
}
$scope.$apply();
})
SELECT * FROM user
Operators
Your can use common operators like =
, >=
, <=
and LIKE
. You can use also IS NULL
and NOT NULL
as condition values.