soyjavi 13 lat temu
rodzic
commit
caf769a9bb
1 zmienionych plików z 167 dodań i 0 usunięć
  1. 167 0
      docs/EN/data/sql.md

+ 167 - 0
docs/EN/data/sql.md

@@ -0,0 +1,167 @@
+Lungo - *Cross-Device Framework*
+================================
+
+## 3.2.2 SQL
+HTML5 provides the users with a database API. Lungo.Data.Sql is a wrapper for WebSQL to work with this APIs in the easiest way.
+
+
+### 3.2.2.1 .init()
+Initializes the SQLite storage. 
+
+**PARAMETERS**
+
+```
+object:		Object with the database configuration.
+```
+
+**EXAMPLE**
+
+```
+var CONFIG = {
+    name: 'lungo_db',         //Name of the database
+    version: '1.0',           //Version of the database
+    size: 65536,              //Size of the database
+    schema: [                 //Database schema
+        {
+            name: 'demo',     //Table name
+            drop: true,       //Drop existing content on init
+            fields: {         //Table fields
+              id: 'INTEGER PRIMARY KEY',
+              name: 'TEXT',
+              description: 'TEXT',
+              type: 'STRING',
+              done: 'INTEGER DEFAULT 0',
+              created_at: 'DATETIME'
+            }
+        },
+        {
+            name: 'twitter',
+            fields:{
+                id: 'INTEGER PRIMARY KEY',
+                name: 'TEXT',
+                account: 'TEXT'
+            }
+        }
+    ]
+};
+Lungo.Data.Sql.init(CONFIG);
+```
+
+
+### 3.2.2.2 insert()
+Inserts a data set in the given table. 
+
+**PARAMETERS**
+
+```
+string:		Name of the table that will store the entry.
+object:		Object or array of objects to store.
+```
+
+**EXAMPLE**
+
+```
+var accounts = [
+    {
+        id : 0,
+        name : 'lungo',
+        account: 'lungojs'
+    },{
+        id : 1,
+        name : 'quojs',
+        account: 'quojs'
+    }
+];
+
+Lungo.Data.Sql.insert('twitter', accounts);
+```
+
+
+### 3.2.2.3 select()
+Makes a selection query using a data set on the given table 
+
+**PARAMETERS**
+
+```
+string:		Name of the table to search into.
+object:		[OPTIONAL] Search condition.
+function:	Callback function.
+```
+This method **return** the function which will do the action on the object.
+
+**EXAMPLE**
+
+```
+var showInfo = function(data){
+    for(var i = 0, len = data.length; i < len; i++){
+        var text = "The account " + data[i].account;
+        text += " name is " + data[i].name;
+        console.log(text);
+
+};
+
+Lungo.Data.Sql.select('twitter', {account: 'Lungojs'}, showInfo);
+```
+
+
+### 3.2.2.4 update()
+Updates an entry in a given table based on a data object and an optional selection object. 
+
+**PARAMETERS**
+
+```
+string:		Name of the table to update entry.
+object:		Object data used to update the entry.
+object:		[OPTIONAL] Object selection condition.
+```
+This method **return** an object with the mix done.
+
+**EXAMPLE**
+
+```
+var account = {name: 'Quo'};
+
+Lungo.Data.Sql.update('twitter', account, {account: 'quojs'});
+```
+
+
+### 3.2.2.5 drop()
+Deletes an entry in a given table based on a selection object. 
+
+**PARAMETERS**
+
+```
+string:		Name of the table to delete entry.
+object:		Object search condition.
+```
+This method **return** boolean indicating if property exists.
+
+**EXAMPLE**
+
+```
+Lungo.Data.Sql.drop('twitter', {account: 'quojs'});
+```
+
+
+### 3.2.2.6 execute()
+Executes a SQL statement in the WebSQL storage. 
+
+**PARAMETERS**
+
+```
+string		SQL statement.
+function:	[OPTIONAL] The callback that gets a SqlResultSet
+```
+This method **return** a string with the internal JavaScript [[Class]]
+
+**EXAMPLE**
+
+```
+Lungo.Data.Sql.execute('SELECT * FROM twitter', function(result){
+    //result is a SqlResultSet
+});
+
+//Another example:
+var sql = 'UPDATE twitter SET name = "quojs" WHERE account = "quojs"';
+Lungo.Data.Sql.execute(sql);
+```