JavaScript-ExtJS-V3
view release on metacpan or search on metacpan
share/ext-3.4.1/examples/tasks/db/ext-air-db.js view on Meta::CPAN
},
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;
}
});
( run in 1.167 second using v1.01-cache-2.11-cpan-5735350b133 )