Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / docs / source / AirConnection.html
1 <html>\r
2 <head>\r
3   <title>The source code</title>\r
4     <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
5     <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
6 </head>\r
7 <body  onload="prettyPrint();">\r
8     <pre class="prettyprint lang-js"> Ext.sql.AirConnection = Ext.extend(Ext.sql.Connection, {\r
9         // abstract methods\r
10     open : function(db){\r
11         this.conn = new air.SQLConnection();\r
12                 var file = air.File.applicationDirectory.resolvePath(db);\r
13                 this.conn.open(file);\r
14         this.openState = true;\r
15                 this.fireEvent('open', this);\r
16     },\r
17 \r
18         close : function(){\r
19         this.conn.close();\r
20         this.fireEvent('close', this);\r
21     },\r
22 \r
23         createStatement : function(type){\r
24                 var stmt = new air.SQLStatement();\r
25                 stmt.sqlConnection = this.conn;\r
26                 return stmt;\r
27         },\r
28 \r
29     exec : function(sql){\r
30         var stmt = this.createStatement('exec');\r
31                 stmt.text = sql;\r
32                 stmt.execute();\r
33     },\r
34 \r
35         execBy : function(sql, args){\r
36                 var stmt = this.createStatement('exec');\r
37                 stmt.text = sql;\r
38                 this.addParams(stmt, args);\r
39                 stmt.execute();\r
40         },\r
41 \r
42         query : function(sql){\r
43                 var stmt = this.createStatement('query');\r
44                 stmt.text = sql;\r
45                 stmt.execute(this.maxResults);\r
46                 return this.readResults(stmt.getResult());\r
47         },\r
48 \r
49         queryBy : function(sql, args){\r
50                 var stmt = this.createStatement('query');\r
51                 stmt.text = sql;\r
52                 this.addParams(stmt, args);\r
53                 stmt.execute(this.maxResults);\r
54                 return this.readResults(stmt.getResult());\r
55         },\r
56 \r
57     addParams : function(stmt, args){\r
58                 if(!args){ return; }\r
59                 for(var key in args){\r
60                         if(args.hasOwnProperty(key)){\r
61                                 if(!isNaN(key)){\r
62                                         var v = args[key];\r
63                                         if(Ext.isDate(v)){\r
64                                                 v = v.format(Ext.sql.Proxy.DATE_FORMAT);\r
65                                         }\r
66                                         stmt.parameters[parseInt(key)] = v;\r
67                                 }else{\r
68                                         stmt.parameters[':' + key] = args[key];\r
69                                 }\r
70                         }\r
71                 }\r
72                 return stmt;\r
73         },\r
74 \r
75     readResults : function(rs){\r
76         var r = [];\r
77         if(rs && rs.data){\r
78                     var len = rs.data.length;\r
79                 for(var i = 0; i < len; i++) {\r
80                     r[r.length] = rs.data[i];\r
81                 }\r
82         }\r
83         return r;\r
84     }\r
85 });</pre>    \r
86 </body>\r
87 </html>