+++ /dev/null
-/*\r
- * Ext JS Library 0.30\r
- * Copyright(c) 2006-2009, Ext JS, LLC.\r
- * licensing@extjs.com\r
- * \r
- * http://extjs.com/license\r
- */\r
-\r
-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
-};
\ No newline at end of file