ajax最新框架extjs

源代码在线查看: table.js

软件大小: 6815 K
上传用户: ashdfg
关键词: extjs ajax
下载地址: 免注册下载 普通下载 VIP

相关代码

				/*
				 * Ext JS Library 0.30
				 * Copyright(c) 2006-2009, Ext JS, LLC.
				 * licensing@extjs.com
				 * 
				 * http://extjs.com/license
				 */
				
				Ext.sql.Table = function(conn, name, keyName){
					this.conn = conn;
					this.name = name;
					this.keyName = keyName;
				};
				
				Ext.sql.Table.prototype = {
					update : function(o){
						var clause = this.keyName + " = ?";
						return this.updateBy(o, clause, [o[this.keyName]]);
					},
				
					updateBy : function(o, clause, args){
						var sql = "UPDATE " + this.name + " set ";
						var fs = [], a = [];
						for(var key in o){
							if(o.hasOwnProperty(key)){
								fs[fs.length] = key + ' = ?';
								a[a.length] = o[key];
							}
						}
						for(var key in args){
							if(args.hasOwnProperty(key)){
								a[a.length] = args[key];
							}
						}
						sql = [sql, fs.join(','), ' WHERE ', clause].join('');
						return this.conn.execBy(sql, a);
					},
				
					insert : function(o){
						var sql = "INSERT into " + this.name + " ";
						var fs = [], vs = [], a = [];
						for(var key in o){
							if(o.hasOwnProperty(key)){
								fs[fs.length] = key;
								vs[vs.length] = '?';
								a[a.length] = o[key];
							}
						}
						sql = [sql, '(', fs.join(','), ') VALUES (', vs.join(','), ')'].join('');
				        return this.conn.execBy(sql, a);
				    },
				
					lookup : function(id){
						return this.selectBy('where ' + this.keyName + " = ?", [id])[0] || null;
					},
				
					exists : function(id){
						return !!this.lookup(id);
					},
				
					save : function(o){
						if(this.exists(o[this.keyName])){
				            this.update(o);
				        }else{
				            this.insert(o);
				        }
					},
				
					select : function(clause){
						return this.selectBy(clause, null);
					},
				
					selectBy : function(clause, args){
						var sql = "select * from " + this.name;
						if(clause){
							sql += ' ' + clause;
						}
						args = args || {};
						return this.conn.queryBy(sql, args);
					},
				
					remove : function(clause){
						this.deleteBy(clause, null);
					},
				
					removeBy : function(clause, args){
						var sql = "delete from " + this.name;
						if(clause){
							sql += ' where ' + clause;
						}
						args = args || {};
						this.conn.execBy(sql, args);
					}
				};			

相关资源