Version History

<< Click to Display Table of Contents >>

Navigation:  Getting Started >

Version History

Previous pageReturn to chapter overviewNext page

Changes in build 5.0.5

Recompiled for X# 2.8

Added a class layer for collections from AdoX (AdoXCollection) to remove duplicate code.

Prevent compiler exception when compiling with X# 2.8.

The AdoDynaCollection class was not used and has been removed

Optimized several case statements to switch statements

Changes in build 5.0.4

Recompiled for X# 2.6

Recompiled with Case Sensitivity enabled

Changes in build 5.0.3

Fixed a problem with OUT parameters in the Execute() methods.

Removed several overloads and added an overload with default parameters for AdoConnection:Open(), AdoConnection:Execute() and AdoCommand:Execute()

Cleaned up several examples

Changes in build 5.0.2

Recompiled for XSharp 2.1

The assemblies are now recompiled for AnyCpu

Several calls to IsInstanceOf() have been replaced with IS

Several overloads were merged. Also some out parameters are now declared as OUT

Changes in build 5.0.1

Recompiled for XSharp 2.0

Assemblies for CLR2 are no longer included. XS2Ado is only for CLR 4. Please contact us if you really need CLR2 assemblies.

With the new product name the namespace has also been changed from Vn2Ado to Xs2Ado. If you relied on the "implicit namespace" lookup you do not need to make any changes to your code. Otherwise you should rename references to this namespace

The header file "vn2ado.vh" is no longer needed. The #defines from this file have been added as 'normal' defines to the XS2Ado.Runtime assembly. The header file is still included but it is empty.

Changes in build 4.30.401

Recompiled for Vulcan 4, build 401

Changes in build 3.29.303

Recompiled for Vulcan 3, build 303

Fixed some problems with Field and Parameter value conversions:

The conversion code now properly translates #Empty  to Missing.Value which usually results in a value "DEFAULT" on the server (but that depends on the OleDB Provider)

The conversion code now properly translates #Null to System.DbNull.Value which usually results in a value "NULL" on the server (but that depends on the OleDB Provider)

The conversion of NIL for Field and Parameter values depends on lConvertToMissingValue parameter for the AdoUsual2Object() function , which defaults to FALSE. This will result in NIL being translated to Missing.Value. AdoCommand:CreateParameter() and AdoFields:Append() use this default of FALSE

Of course you can also use Missing.Value and System.DbNull.Value in your code if you want to be explicit.

Changes in build 3.28.302

Recompiled for Vulcan 3, build 302

Fixed a problem with default parameters for the AdoCommand:Execute() method

The RecordsEffected parameter of AdoCommand:Execute() is now a OUT LONG. You can still send in a USUAL but since USUALs by reference are not really supported in X# we have applied a 'dirty' trick to allow this.

The RecordsEffected parameter of AdoConnection:Execute() is now also an OUT LONG. You can still send in a USUAL but since USUALs by reference are not really supported in X# we have applied a 'dirty' trick to allow this.

The FieldType adDbDate is now properly translated to "D"

Changes in build 3.27.301

Recompiled for Vulcan 3, build 301

Fixed a problem with default parameters for several methods, that was introduced with the change in build 3.26.212 when the handling of NIL/NULL values was changed.

Changes in build 3.26.212

Fixed a problem in the handling of NIL/NULL values

All globals have been moved to a Globals class (Xs2Ado.Globals). This makes debugging easier. Open Xs2Ado.Globals in the watch window to see the current values of the globals.

Changes in build 3.25.212

Fixed a problem in AdoRecordSet:GetRows() (missing or default parameters were not handled correctly)

Fixed a problem in AdoServer:Find (default parameters were not handler correctly)

AdoServer:GetData() was returning NULL for empty string columns when NullAsBlank was set to TRUE. It now returns String.Empty values.

Changes in build 3.24.212

Fixed a problem in AdoServer:FieldPos() that was introduced in build 3.23 and was caused by a change in the X# compiler.

Changes in build 3.23.212

Recompiled for X# 2.0 build 212

Xs2Ado code now uses Constructor chaining internally

AdoServer:Source assign would fail if the server was already closed.

Changes in build 3.21.211

Recompiled for X# 2.0 build 211

Changes in build 3.21.210

Fixes a problem in the RecordSet:ActiveCommand property

Changes in build 3.20.210

Recompiled for X# 2.0 build 210

It also uses the new property syntax inside the source code.

All user defined commands in the source have been removed.

Changes in build 3.19.209

Recompiled for X# 2.0 build 209

Changes in build 3.18.208

Recompiled for X# 2.0 build 208

Fixed a problem that would occur when assigning a new recordset to an AdoServer

Changes in build 3.17.207

Recompiled for X# 2.0 build 207

Performance update in Server:FieldPos() for String and Symbol lookups

Server:GetData() no longer throws an exception for ‘Unknown’ Field Types

Changes in build 3.15.206

Recompiled for X# build 206

Changes in build 3.15.205

Recompiled for X# build 205

Changes in build 3.14.204

Fixed a problem with a missing constructor for AdoRelationServer

Changes in build 3.13.204

Recompiled for X# 2.0 build 204

Fixed a problem with the AdoServer:Requery when called without parameters

AdoServer:FieldGet() now properly respects the NullAsBlank property and also returns AdoDateTime valies for NULL values.

Changes in build 3.12.203

Recompiled for X# 2.0 build 203

Xs2Ado now comes in 2 versions: 1 version is targeted at CLR 4 and references the CLR4 assemblies from Vulcan 2.0. The other version is targeted at CLR2 and references the CLR2 assemblies from Vulcan 2.0. You can recognize the assemblies by their version number and/or name. The CLR2 assemblies have a version number that starts with 3.0 and the CLR4 assemblies have version number that starts with 3.1

Changes in build 3.0.9.159

Recompiled for X# build 159

Changes in build 3.0.8.158

Recompiled for X# build 158

Added VulcanImplicitNamespace attribute to our assemblies. As a result of that you do not longer need to add a “#using Xs2Ado” to your code if you enable the ‘Implicit NamespaceLookup’ compiler option for your applications.

No other changes in this build

Changes in build 3.0.7.157

Changed version number to reflect Vulcan build number in the last position

Recompiled for X# build 157

No other changes in this build

Changes in build 3.0.0.7

Fix to an issue with connection classes that was introduced in build 3.0.0.6.

Changes in build 3.0.0.6

Fixed a problem with the ‘AdoDriverSelect()’ function

Recompiled with X# build 156

Changes in Beta 5

The Classmate server is not included yet, since Classmate for build 1.1.155.0 is not finished.

There is a problem with Codeblocks inside Begin NameSpace/End namespace constructs in Vulcan build 155. We have made some changes in Xs2Ado to work around this. You may also experience this problem in your code. Please be aware of this bug !

We have made some changes to the new overloads for AdoConnection:Open() and AdoRecordSet:Open()  to work around some problems reported by users

All Get/Set functions such as AdoDateTimeAsDate() and AdoCollectionBase() were accepting a usual in the past. They have now been changed to two overloads: one without parameters and one with the proper type

Previous builds were returning an Object from properties such as Field:Value and RecordSet:Collect. This was causing problems with Decimal and Datetime values.
This build now returns USUALs and convert Decimals to a Float and DateTime values to a Date or AdoDateTime object, , depending on the settings for AdoDateTimeAsDate() and AdoDecimalAsFlo at() (see below).
Also return values of type Recordset, Connection, Command, Record and Stream are now properly ‘wrapped’ in the appropriate Xs2Ado object.

Added a new function AdoDecimalAsFloat(). This function allows you to control how Xs2Ado will handle decimal values. When set to TRUE (the default), Xs2Ado will convert Decimal values to Float. This may result in some loss of precision. When set to FALSE then Xs2Ado will return decimal values as a System.Decimal Structure and you will have to handle conversions yourself.

The internal implementation of AdoDateTime has changed. It now uses a DateTime structure to store the value. We also added some implicit conversion operators. You can now directly assign DateTime values and Date values to an AdoDateTime object

There is a new (static) CollectionBase property on the AdoCollection class. You can access/assign this property with AdoCollection.CollectionBase. The AdoCollectionBase() function is still there and is redirected to this property.

The ActiveConnection Assign for several classes was accepting a usual. It now only accepts an AdoConnection object. We have added an ActiveConnectionString assign that accepts a STRING to each of these classes.