Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / docs / source / Table.html
diff --git a/docs/source/Table.html b/docs/source/Table.html
new file mode 100644 (file)
index 0000000..0fb385f
--- /dev/null
@@ -0,0 +1,95 @@
+<html>\r
+<head>\r
+  <title>The source code</title>\r
+    <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
+    <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
+</head>\r
+<body  onload="prettyPrint();">\r
+    <pre class="prettyprint lang-js">Ext.sql.Table = function(conn, name, keyName){\r
+       this.conn = conn;\r
+       this.name = name;\r
+       this.keyName = keyName;\r
+};\r
+\r
+Ext.sql.Table.prototype = {\r
+       update : function(o){\r
+               var clause = this.keyName + " = ?";\r
+               return this.updateBy(o, clause, [o[this.keyName]]);\r
+       },\r
+\r
+       updateBy : function(o, clause, args){\r
+               var sql = "UPDATE " + this.name + " set ";\r
+               var fs = [], a = [];\r
+               for(var key in o){\r
+                       if(o.hasOwnProperty(key)){\r
+                               fs[fs.length] = key + ' = ?';\r
+                               a[a.length] = o[key];\r
+                       }\r
+               }\r
+               for(var key in args){\r
+                       if(args.hasOwnProperty(key)){\r
+                               a[a.length] = args[key];\r
+                       }\r
+               }\r
+               sql = [sql, fs.join(','), ' WHERE ', clause].join('');\r
+               return this.conn.execBy(sql, a);\r
+       },\r
+\r
+       insert : function(o){\r
+               var sql = "INSERT into " + this.name + " ";\r
+               var fs = [], vs = [], a = [];\r
+               for(var key in o){\r
+                       if(o.hasOwnProperty(key)){\r
+                               fs[fs.length] = key;\r
+                               vs[vs.length] = '?';\r
+                               a[a.length] = o[key];\r
+                       }\r
+               }\r
+               sql = [sql, '(', fs.join(','), ') VALUES (', vs.join(','), ')'].join('');\r
+        return this.conn.execBy(sql, a);\r
+    },\r
+\r
+       lookup : function(id){\r
+               return this.selectBy('where ' + this.keyName + " = ?", [id])[0] || null;\r
+       },\r
+\r
+       exists : function(id){\r
+               return !!this.lookup(id);\r
+       },\r
+\r
+       save : function(o){\r
+               if(this.exists(o[this.keyName])){\r
+            this.update(o);\r
+        }else{\r
+            this.insert(o);\r
+        }\r
+       },\r
+\r
+       select : function(clause){\r
+               return this.selectBy(clause, null);\r
+       },\r
+\r
+       selectBy : function(clause, args){\r
+               var sql = "select * from " + this.name;\r
+               if(clause){\r
+                       sql += ' ' + clause;\r
+               }\r
+               args = args || {};\r
+               return this.conn.queryBy(sql, args);\r
+       },\r
+\r
+       remove : function(clause){\r
+               this.deleteBy(clause, null);\r
+       },\r
+\r
+       removeBy : function(clause, args){\r
+               var sql = "delete from " + this.name;\r
+               if(clause){\r
+                       sql += ' where ' + clause;\r
+               }\r
+               args = args || {};\r
+               this.conn.execBy(sql, args);\r
+       }\r
+};</pre>    \r
+</body>\r
+</html>
\ No newline at end of file