SQL Server Mobile/Everywhere and FoxPro

If you are like me and have a Visual FoxPro background you might me pleasantly surprised if you take a look at SQL Server Mobile/Everywhere :-)

 

Not only do we get ClickOnce/XCopy style deployment like we used to be able to do we also get a more familiar data model then we get using SQL Server (Express).

 

A few interesting classes and functions:

  • SqlCeResultSet
    This gives us direct access to the underlying data. No longer do we get an in memory copy as well as the original in the database, what you see is what you have :-) Use a SqlCeCommand.ExecuteResultSet()  to create one.
  • Seek()
    Want to work directly against the existing indexes when looking for data? No sweat, the SqlCeResultSet.Seek() works just like the Visual FoxPro seek with a few extra useful options thrown in.
  • SetRange()
    The SqlCeCommand.SetRange() function is similar to the Visual FoxPro SET KEY statement. Just specify the range you want before you execute the ExecuteResultSet() function and you will get only the data in the range specified.
 

Of course this isn’t just nice for Visual FoxPro developers but also Visual Basic 6 developers used to ADO will find this model familiar.

 

Now I am not suggesting that SQL Everywhere is a complete replacement for VFP, after all it is a single user data engine designed for local storage. You can put the data file on a share if you like and multiple connections to it can be opened but only from a single machine. So from that perspective there is a huge difference. That also means that all kind of multi user functionality is not supported, after all what is the need.

 

But still it is a promising little database with a lot op potential when used in combination with SQL Server/Express as the multi-user data store.

 

Maurice de Beijer

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>