ADODB_odbc(); } function Time() { return time(); } function BeginTrans() { return false; } // quote string to be sent back to database function qstr($s, $nofixquotes = false) { if (!$nofixquotes) return "'" . str_replace("\r\n", "'+chr(13)+'", str_replace("'", $this->replaceQuote, $s)) . "'"; return "'" . $s . "'"; } // TOP requires ORDER BY for VFP function &SelectLimit($sql, $nrows = -1, $offset = -1, $inputarr = false, $secs2cache = 0) { $this->hasTop = preg_match('/ORDER[ \t\r\n]+BY/is', $sql) ? 'top' : false; return ADOConnection::SelectLimit($sql, $nrows, $offset, $inputarr, $secs2cache); } } ; class ADORecordSet_vfp extends ADORecordSet_odbc { var $databaseType = "vfp"; function ADORecordSet_vfp($id, $mode = false) { return $this->ADORecordSet_odbc($id, $mode); } function MetaType($t, $len = -1) { if (is_object($t)) { $fieldobj = $t; $t = $fieldobj->type; $len = $fieldobj->max_length; } switch (strtoupper($t)) { case 'C': if ($len <= $this->blobSize) return 'C'; case 'M': return 'X'; case 'D': return 'D'; case 'T': return 'T'; case 'L': return 'L'; case 'I': return 'I'; default: return 'N'; } } } } //define