A Place For the Tightline Data Classes
The Tightline Data Classed is a data-layer framework by Andy Kramek and Marcia Akins that provides a comprehensive, robust, fast, and flexible abstraction layer for SQLServer, Oracle, and VFP data, as well as any combination of these.
Download the Public Domain version from here: http://tightlinecomputers.com/Downloads.htm
I've been using the Tightline Data Classes for several years now, on rather large projects, and I can vouch for how fast, flexible, robust, and usable this framework is. -- Steven Black
I have just encountered something very strange and would like to get confirmation of it.
I have a Windows XP Professional running VFP 9.0 and SQL Server 2000. The following code behaves as I would expect....
lnCon = SQLCONNECT( [DSN], [UID], [PWD] )
*** Returns 1, inserts the record
? SQLEXEC( lnCon, [INSERT INTO customer ( acct_id, acct_nme ) VALUES ( 'XA123', 'SomeOne New' )
*** Returns 1, deletes the record
? SQLEXEC( lnCon, [DELETE customer WHERE acct_id = 'XA123'] )
However, starting today the following line of suddenly code returns a one-row cursor (named SQLRESULT) with one column named "expr1" and a value of NULL.
*** Returns 1, AND a single roq cursor named "SQLRESULT"
? SQLEXEC( lnCon, [UPDATE customer set acct_nme = 'Updated Name' WHERE acct_id = 'XA123'] )
You get no error, and no indication that anything is wrong, but your updates don't get made.
SOLUTION! A trigger got added to the table that, under certain circumstances was returning a value - causing the cursor to be created in VFP!
This is a nasty little side effect that caught me by surprise. -- Andy Kramek
Models of the Tightline Data Classes
Here is a data diagram and static object model of the Tightline Data Classes. This is a slightly modified version from the Public Domain version.
- Each data store has its own behavior class.
- SQL Selects are reusably defined in cursor definitions.
- Cursors can be updateable.
- Cursors are grouped into data sets.
- Connections are abstracted into connection objects.
- A data manager controls the works.
Category Third Party Tools Category Data
( Topic last updated: 2007.05.11 12:17:53 PM )