--- /dev/null
+<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.AirConnection = Ext.extend(Ext.sql.Connection, {\r
+ // abstract methods\r
+ open : function(db){\r
+ this.conn = new air.SQLConnection();\r
+ var file = air.File.applicationDirectory.resolvePath(db);\r
+ this.conn.open(file);\r
+ this.openState = true;\r
+ this.fireEvent('open', this);\r
+ },\r
+\r
+ close : function(){\r
+ this.conn.close();\r
+ this.fireEvent('close', this);\r
+ },\r
+\r
+ createStatement : function(type){\r
+ var stmt = new air.SQLStatement();\r
+ stmt.sqlConnection = this.conn;\r
+ return stmt;\r
+ },\r
+\r
+ exec : function(sql){\r
+ var stmt = this.createStatement('exec');\r
+ stmt.text = sql;\r
+ stmt.execute();\r
+ },\r
+\r
+ execBy : function(sql, args){\r
+ var stmt = this.createStatement('exec');\r
+ stmt.text = sql;\r
+ this.addParams(stmt, args);\r
+ stmt.execute();\r
+ },\r
+\r
+ query : function(sql){\r
+ var stmt = this.createStatement('query');\r
+ stmt.text = sql;\r
+ stmt.execute(this.maxResults);\r
+ return this.readResults(stmt.getResult());\r
+ },\r
+\r
+ queryBy : function(sql, args){\r
+ var stmt = this.createStatement('query');\r
+ stmt.text = sql;\r
+ this.addParams(stmt, args);\r
+ stmt.execute(this.maxResults);\r
+ return this.readResults(stmt.getResult());\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
+ var v = args[key];\r
+ if(Ext.isDate(v)){\r
+ v = v.format(Ext.sql.Proxy.DATE_FORMAT);\r
+ }\r
+ stmt.parameters[parseInt(key)] = v;\r
+ }else{\r
+ stmt.parameters[':' + key] = args[key];\r
+ }\r
+ }\r
+ }\r
+ return stmt;\r
+ },\r
+\r
+ readResults : function(rs){\r
+ var r = [];\r
+ if(rs && rs.data){\r
+ var len = rs.data.length;\r
+ for(var i = 0; i < len; i++) {\r
+ r[r.length] = rs.data[i];\r
+ }\r
+ }\r
+ return r;\r
+ }\r
+});</pre> \r
+</body>\r
+</html>
\ No newline at end of file