/*!
- * Ext JS Library 3.0.0
- * Copyright(c) 2006-2009 Ext JS, LLC
+ * Ext JS Library 3.2.0
+ * Copyright(c) 2006-2010 Ext JS, Inc.
* licensing@extjs.com
* http://www.extjs.com/license
*/
- Ext.data.AirDB = Ext.extend(Ext.data.SqlDB, {\r
- open : function(db, cb, scope){\r
- this.conn = new air.SQLConnection();\r
-\r
- var file = air.File.applicationResourceDirectory.resolve(db);\r
-\r
- this.conn.addEventListener(air.SQLEvent.OPEN, this.onOpen.createDelegate(this, [cb, scope]));\r
- this.conn.addEventListener(air.SQLEvent.CLOSE, this.onClose.createDelegate(this));\r
- this.conn.open(file, true);\r
- },\r
-\r
- close : function(){\r
- this.conn.close();\r
- },\r
-\r
- onOpen : function(cb, scope){\r
- this.openState = true;\r
- Ext.callback(cb, scope, [this]);\r
- this.fireEvent('open', this);\r
- },\r
-\r
- onClose : function(){\r
- this.fireEvent('close', this);\r
- },\r
-\r
- onError : function(e, stmt, type, cb, scope){\r
- Ext.callback(cb, scope, [false, e, stmt]);\r
- },\r
-\r
- onResult : function(e, stmt, type, cb, scope){\r
- if(type == 'exec'){\r
- Ext.callback(cb, scope, [true, e, stmt]);\r
- }else{\r
- var r = [];\r
- var result = stmt.getResult();\r
- if(result && result.data){\r
- var len = result.data.length;\r
- for(var i = 0; i < len; i++) {\r
- r[r.length] = result.data[i];\r
- }\r
- }\r
- Ext.callback(cb, scope, [r, e, stmt]);\r
- }\r
- },\r
-\r
- createStatement : function(type, cb, scope){\r
-\r
- var stmt = new air.SQLStatement();\r
-\r
- stmt.addEventListener(air.SQLErrorEvent.ERROR, this.onError.createDelegate(this, [stmt, type, cb, scope], true));\r
- stmt.addEventListener(air.SQLEvent.RESULT, this.onResult.createDelegate(this, [stmt, type, cb, scope], true));\r
-\r
- stmt.sqlConnection = this.conn;\r
-\r
- return stmt;\r
- },\r
-\r
- exec : function(sql, cb, scope){\r
- var stmt = this.createStatement('exec', cb, scope);\r
- stmt.text = sql;\r
- stmt.execute();\r
- },\r
-\r
- execBy : function(sql, args, cb, scope){\r
- var stmt = this.createStatement('exec', cb, scope);\r
- stmt.text = sql;\r
- this.addParams(stmt, args);\r
- stmt.execute();\r
- },\r
-\r
- query : function(sql, cb, scope){\r
- var stmt = this.createStatement('query', cb, scope);\r
- stmt.text = sql;\r
- stmt.execute(this.maxResults);\r
- },\r
-\r
- queryBy : function(sql, args, cb, scope){\r
- var stmt = this.createStatement('query', cb, scope);\r
- stmt.text = sql;\r
- this.addParams(stmt, args);\r
- stmt.execute(this.maxResults);\r
- },\r
-\r
- addParams : function(stmt, args){\r
- if(!args){ return; }\r
- for(var key in args){\r
- if(args.hasOwnProperty(key)){\r
- if(!isNaN(key)){\r
- stmt.parameters[parseInt(key)+1] = args[key];\r
- }else{\r
- stmt.parameters[':' + key] = args[key];\r
- }\r
- }\r
- }\r
- return stmt;\r
- }\r
+ Ext.data.AirDB = Ext.extend(Ext.data.SqlDB, {
+ open : function(db, cb, scope){
+ this.conn = new air.SQLConnection();
+
+ var file = air.File.applicationResourceDirectory.resolve(db);
+
+ this.conn.addEventListener(air.SQLEvent.OPEN, this.onOpen.createDelegate(this, [cb, scope]));
+ this.conn.addEventListener(air.SQLEvent.CLOSE, this.onClose.createDelegate(this));
+ this.conn.open(file, true);
+ },
+
+ close : function(){
+ this.conn.close();
+ },
+
+ onOpen : function(cb, scope){
+ this.openState = true;
+ Ext.callback(cb, scope, [this]);
+ this.fireEvent('open', this);
+ },
+
+ onClose : function(){
+ this.fireEvent('close', this);
+ },
+
+ onError : function(e, stmt, type, cb, scope){
+ Ext.callback(cb, scope, [false, e, stmt]);
+ },
+
+ onResult : function(e, stmt, type, cb, scope){
+ if(type == 'exec'){
+ Ext.callback(cb, scope, [true, e, stmt]);
+ }else{
+ var r = [];
+ var result = stmt.getResult();
+ if(result && result.data){
+ var len = result.data.length;
+ for(var i = 0; i < len; i++) {
+ r[r.length] = result.data[i];
+ }
+ }
+ Ext.callback(cb, scope, [r, e, stmt]);
+ }
+ },
+
+ createStatement : function(type, cb, scope){
+
+ var stmt = new air.SQLStatement();
+
+ stmt.addEventListener(air.SQLErrorEvent.ERROR, this.onError.createDelegate(this, [stmt, type, cb, scope], true));
+ stmt.addEventListener(air.SQLEvent.RESULT, this.onResult.createDelegate(this, [stmt, type, cb, scope], true));
+
+ stmt.sqlConnection = this.conn;
+
+ return stmt;
+ },
+
+ exec : function(sql, cb, scope){
+ var stmt = this.createStatement('exec', cb, scope);
+ stmt.text = sql;
+ stmt.execute();
+ },
+
+ execBy : function(sql, args, cb, scope){
+ var stmt = this.createStatement('exec', cb, scope);
+ stmt.text = sql;
+ this.addParams(stmt, args);
+ stmt.execute();
+ },
+
+ query : function(sql, cb, scope){
+ var stmt = this.createStatement('query', cb, scope);
+ stmt.text = sql;
+ stmt.execute(this.maxResults);
+ },
+
+ queryBy : function(sql, args, cb, scope){
+ var stmt = this.createStatement('query', cb, scope);
+ stmt.text = sql;
+ this.addParams(stmt, args);
+ stmt.execute(this.maxResults);
+ },
+
+ addParams : function(stmt, args){
+ if(!args){ return; }
+ for(var key in args){
+ if(args.hasOwnProperty(key)){
+ if(!isNaN(key)){
+ stmt.parameters[parseInt(key)+1] = args[key];
+ }else{
+ stmt.parameters[':' + key] = args[key];
+ }
+ }
+ }
+ return stmt;
+ }
});
\ No newline at end of file