]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - lib/WikiDB/adodb/drivers/adodb-access.inc.php
new ADODB library 4.22 with multiple drivers (not only mysql as before), major change...
[SourceForge/phpwiki.git] / lib / WikiDB / adodb / drivers / adodb-access.inc.php
1 <?php\r
2 /* \r
3 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim@natsoft.com.my). All rights reserved.\r
4   Released under both BSD license and Lesser GPL library license. \r
5   Whenever there is any discrepancy between the two licenses, \r
6   the BSD license will take precedence. See License.txt. \r
7   Set tabs to 4 for best viewing.\r
8   \r
9   Latest version is available at http://php.weblogs.com/\r
10   \r
11   Microsoft Access data driver. Requires ODBC. Works only on MS Windows.\r
12 */\r
13 if (!defined('_ADODB_ODBC_LAYER')) {\r
14         include(ADODB_DIR."/drivers/adodb-odbc.inc.php");\r
15 }\r
16  if (!defined('_ADODB_ACCESS')) {\r
17         define('_ADODB_ACCESS',1);\r
18 \r
19 class  ADODB_access extends ADODB_odbc {        \r
20         var $databaseType = 'access';\r
21         var $hasTop = 'top';            // support mssql SELECT TOP 10 * FROM TABLE\r
22         var $fmtDate = "#Y-m-d#";\r
23         var $fmtTimeStamp = "#Y-m-d h:i:sA#"; // note not comma\r
24         var $_bindInputArray = false; // strangely enough, setting to true does not work reliably\r
25         var $sysDate = "FORMAT(NOW,'yyyy-mm-dd')";\r
26         var $sysTimeStamp = 'NOW';\r
27         var $hasTransactions = false;\r
28         \r
29         function ADODB_access()\r
30         {\r
31         global $ADODB_EXTENSION;\r
32         \r
33                 $ADODB_EXTENSION = false;\r
34                 $this->ADODB_odbc();\r
35         }\r
36         \r
37         function Time()\r
38         {\r
39                 return time();\r
40         }\r
41         \r
42         function BeginTrans() { return false;}\r
43         \r
44         function IfNull( $field, $ifNull ) \r
45         {\r
46                 return " IIF(IsNull($field), $ifNull, $field) "; // if Access\r
47         }\r
48 /*\r
49         function &MetaTables()\r
50         {\r
51         global $ADODB_FETCH_MODE;\r
52         \r
53                 $savem = $ADODB_FETCH_MODE;\r
54                 $ADODB_FETCH_MODE = ADODB_FETCH_NUM;\r
55                 $qid = odbc_tables($this->_connectionID);\r
56                 $rs = new ADORecordSet_odbc($qid);\r
57                 $ADODB_FETCH_MODE = $savem;\r
58                 if (!$rs) return false;\r
59                 \r
60                 $rs->_has_stupid_odbc_fetch_api_change = $this->_has_stupid_odbc_fetch_api_change;\r
61                 \r
62                 $arr = &$rs->GetArray();\r
63                 //print_pre($arr);\r
64                 $arr2 = array();\r
65                 for ($i=0; $i < sizeof($arr); $i++) {\r
66                         if ($arr[$i][2] && $arr[$i][3] != 'SYSTEM TABLE')\r
67                                 $arr2[] = $arr[$i][2];\r
68                 }\r
69                 return $arr2;\r
70         }*/\r
71 }\r
72 \r
73  \r
74 class  ADORecordSet_access extends ADORecordSet_odbc {  \r
75         \r
76         var $databaseType = "access";           \r
77         \r
78         function ADORecordSet_access($id,$mode=false)\r
79         {\r
80                 return $this->ADORecordSet_odbc($id,$mode);\r
81         }\r
82 }// class\r
83\r
84 ?>