Menu

#112 ADODB_mssqlnative bugs

open
nobody
None
5
2010-05-05
2010-05-05
No

I'm using Microsoft driver v. 1.1 with utf-8 support, writing applications with Codegear Delphi for PHP framework v. 2.1.

1) The implementation of the method FetchField of the ADORecordset_mssqlnative class is wrong: should return an ADOFieldObject.
I modified the code: a new $fieldmeta member, intialized in _initrs (instead of a local variable), is now used to retrieve the correct infos. Caution: the ADOFieldObject->type must be a string, not a number!
Now methods like ADOConnection->GetUpdateSQL and GetInsertSQL seem to work fine (Delphi for PHP uses AutoExecute to post changes).

2) I modified the code to use the value of ADOConnection->charSet, if specified, to set properly the CharacterSet connection option in ADODB_mssqlnative->_connect; so it's easy to use UTF-8.

3) Not all utf-8 chars where posted to the db in the correct form; this is due to the "prepend N" problem. A look at the implementation of ADODB_mssql_n class seems to solve this problem.

Fulvio Fusco

Discussion