MSSQL now works for GW on IIS

This commit is contained in:
Geoff Munn 2009-03-29 21:43:48 +00:00
parent ebd9fa4671
commit bb4acb78c8

View File

@ -29,6 +29,13 @@ class MSSQLDatabase extends Database {
*/ */
private $database; private $database;
/**
* Holds either mssql or sqlsrv, depending on what's available on the server.
*
* @var string
*/
private $funcPrefix;
/*function connect($server, $username, $password){ /*function connect($server, $username, $password){
$func = $this->funcPrefix . '_connect'; $func = $this->funcPrefix . '_connect';
@ -620,7 +627,7 @@ class MSSQLDatabase extends Database {
* @return int * @return int
*/ */
public function affectedRows() { public function affectedRows() {
$funcName=$this->prefix . '_rows_affected'; $funcName=$this->funcPrefix . '_rows_affected';
return $funcName($this->dbConn); return $funcName($this->dbConn);
} }
@ -1025,12 +1032,25 @@ class MSSQLQuery extends Query {
*/ */
private $handle; private $handle;
/**
* Holds either mssql or sqlsrv, depending on what's available on the server.
*
* @var string
*/
private $funcPrefix;
/** /**
* Hook the result-set given into a Query class, suitable for use by sapphire. * Hook the result-set given into a Query class, suitable for use by sapphire.
* @param database The database object that created this query. * @param database The database object that created this query.
* @param handle the internal mysql handle that is points to the resultset. * @param handle the internal mysql handle that is points to the resultset.
*/ */
public function __construct(MSSQLDatabase $database, $handle) { public function __construct(MSSQLDatabase $database, $handle) {
if(function_exists('sqlsrv'))
$this->funcPrefix='sqlsrv';
else
$this->funcPrefix='mssql';
$this->database = $database; $this->database = $database;
$this->handle = $handle; $this->handle = $handle;
parent::__construct(); parent::__construct();
@ -1047,14 +1067,14 @@ class MSSQLQuery extends Query {
} }
public function numRecords() { public function numRecords() {
$funcName=$this->prefix . '_num_rows'; $funcName=$this->funcPrefix . '_num_rows';
return $funcName($this->handle); return $funcName($this->handle);
} }
public function nextRecord() { public function nextRecord() {
// Coalesce rather than replace common fields. // Coalesce rather than replace common fields.
$fetch_row=$this->prefix . '_fetch_row'; $fetch_row=$this->funcPrefix . '_fetch_row';
$field_name=$this->prefix . '_field_name'; $field_name=$this->funcPrefix . '_field_name';
if($data = $fetch_row($this->handle)) { if($data = $fetch_row($this->handle)) {
foreach($data as $columnIdx => $value) { foreach($data as $columnIdx => $value) {