Differences between Vo2Ado to Xs2Ado

<< Click to Display Table of Contents >>

Navigation:  Getting Started >

Differences between Vo2Ado to Xs2Ado

Previous pageReturn to chapter overviewNext page

Xs2Ado works with Ado 2.8 only. Older versions of Ado may work, but we did not test it with older versions.

 

Xs2Ado is 100% Unicode (because X# is 100% Unicode). You should not have any problems reading /writing Unicode strings. However: if you are using the Visual Objects GUI classes to display the contents of a database, then you should realize that those classes still use the Ansi Windows UI.

 

Interface and ForEach are now keywords. If you want to access the interface property of an Ado Object or the ForEach method of an AdoCollection you may need to prefix these keywords with the double @ sign:

 

         oCollection:@@ForEach({|o|Qout(o:Name)})

 

Some of the support functions are irrelevant and have been dropped:

AdoCheckNullString()

AdoConvertNullStringToNull()

 

We have added some extra methods to the AdoRecordSet class to make it look more like a server:

GoTop()

GoBottom()

GoTo()

FieldGet()

FieldPut()

Skip()

Recno
 

The AdoServer class always returns USUAL values from FieldGet() and GetData(). DateTime values are automatically converted to a DATE, Decimal Values are converted to Float and Chapter columns properly return a AdoRecordSet.

 

There is no AdoLongBinary class anymore. When reading binary information from a SQL backend in Xs2Ado you will receive an array of bytes. There is really no need any more for the AdoLongBinary class

 

The syntax for indexed properties has changed:
In Visual Objects you had to write:

 

 oConnection:Properties:[Item,”Prompt”] := AdPromptAlways
 

where in X# the following syntax is used:

 
         oConnection:Properties:Item[”Prompt”] := AdPromptAlways

 
We think this is an improvement.

 

X# supports default properties. We have used that in Xs2Ado. You can now write code like below:

 
    ? oRecordSet[“LastName”]

 

This will be compiled as
       oRecordSet:Collect[“LastName”]

 

because Collect is the default property of a RecordSet

 

What’s missing

Some of things you were used to see in Vo2Ado for Visual Objects may not be available (yet). In particular:

There is no support for event handling yet.

The Xs2Ado RDD is not available. We are not sure if we will create such an RDD. Please contact us if you are interested in the RDD

We do not have a server editor like we had for the Visual Objects IDE. To be honest: we are not sure if there is a need for such as tool. If you are interested in a Server Editor for the Visual Studio IDE, please contact us.