FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour ADO RDD xHarbour
Posts: 838
Joined: Fri Feb 10, 2006 12:14 PM
Re: ADO RDD xHarbour
Posted: Thu Apr 09, 2015 07:28 PM

Lucas,

You dont have open indexes right ?

Regards

Antonio H Ferreira
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
Re: ADO RDD xHarbour
Posted: Thu Apr 09, 2015 07:55 PM

No.

Muchas gracias. Many thanks.



Un saludo, Best regards,



Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]



Implementando MSVC 2010, FWH64 y ADO.



Abandonando uso xHarbour y SQLRDD.
Posts: 838
Joined: Fri Feb 10, 2006 12:14 PM
Re: ADO RDD xHarbour
Posted: Fri Apr 10, 2015 09:23 AM

Antonio, Enrico,

How can we show or hide deleted records in ADO?

How can we enforce SET DELETED?

Regards

Antonio H Ferreira
Posts: 9022
Joined: Thu Oct 06, 2005 08:17 PM
Re: ADO RDD xHarbour
Posted: Fri Apr 10, 2015 09:41 AM
Antonio,

AHF wrote:Antonio, Enrico,

How can we show or hide deleted records in ADO?

How can we enforce SET DELETED?


As far as I know, there is no direct support for deleted records in SQL. You have to add a logical field and use it in WHERE clauses, I'm afraid.

EMG
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: ADO RDD xHarbour
Posted: Fri Apr 10, 2015 09:51 AM

Perhaps a first version of ADORDD no need to treat the deleted records because generally all have SET DELETED ON at the beginning of our programs

Posts: 838
Joined: Fri Feb 10, 2006 12:14 PM
Re: ADO RDD xHarbour
Posted: Fri Apr 10, 2015 10:19 AM

Enrico,

In fact this is not a problem because deleting records in SQL will wipe records off the table and we cannot recover them again. Is this true for all DB Sql ?

Regards

Antonio H Ferreira
Posts: 9022
Joined: Thu Oct 06, 2005 08:17 PM
Re: ADO RDD xHarbour
Posted: Fri Apr 10, 2015 10:41 AM
Antonio,

AHF wrote:Enrico,

In fact this is not a problem because deleting records in SQL will wipe records off the table and we cannot recover them again. Is this true for all DB Sql ?


I don't know but we have to make it "database aware", haven't we?

EMG
Posts: 838
Joined: Fri Feb 10, 2006 12:14 PM
Re: ADO RDD xHarbour
Posted: Fri Apr 10, 2015 11:13 AM

Enrico,

Do you mean mark a record as deleted with truly deleted in SQL using a delete field in the tables?

In dbf apps we have to pack to clean it and some kind of recycle to recover it when adding records.
If we truly delete it nothing else mus be done. Although recall and pack exists in adordd but do nothing.

The trials we ae running with our app there is no problem but maybe others have a different approach.

Is it worth to do it ?
What do you think ?

Regards

Antonio H Ferreira
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: ADO RDD xHarbour
Posted: Fri Apr 10, 2015 11:30 AM
The only drawback I see is this case:

Code (fw): Select all Collapse
nRec: = RecNo()
DELETE

GO nRec   // Ok dbf. ADO Fail


 
My opinion: will be few occasions or applications that this circumstance. At the moment I do not think it worthwhile to consider it. Perhaps ADORDD v2.00
Posts: 9022
Joined: Thu Oct 06, 2005 08:17 PM
Re: ADO RDD xHarbour
Posted: Fri Apr 10, 2015 11:51 AM
Antonio,

AHF wrote:Enrico,

Do you mean mark a record as deleted with truly deleted in SQL using a delete field in the tables?


Yes.

AHF wrote:In dbf apps we have to pack to clean it and some kind of recycle to recover it when adding records.
If we truly delete it nothing else mus be done. Although recall and pack exists in adordd but do nothing.

The trials we ae running with our app there is no problem but maybe others have a different approach.

Is it worth to do it ?
What do you think ?


No, it's not worthwhile. :-)

EMG
Posts: 2706
Joined: Fri Oct 07, 2005 01:50 PM
Re: ADO RDD xHarbour
Posted: Fri Apr 10, 2015 12:42 PM

To All

I think each RDMS handles deleted records a bit differently .. As in all Sql Databases, when a record is Deleted, it just drops off the 'radar' and there is no need to even worry about it or even to 'Recall' it .. I do not even think you can get it back unless you use some sort of 'roll back' technique.

I will say this .. it is obvious with Ms Access, that the size of the database DOES NOT decrease when you have deleted records so they still must be there, but are just not accessible, hence why you have to Compact and Repair the database from time to time. And, my guess when DBA's tune their MS Sql and Oracles of the world, deleted records are purged during that process.

In any case .. in my experience as a developer with Sql databases .. once a record is deleted, you might as well forget about it and 'Setting Deleted (On or Off )' is irrelevant.

Rick Lipkin

Posts: 838
Joined: Fri Feb 10, 2006 12:14 PM
Re: ADO RDD xHarbour
Posted: Fri Apr 10, 2015 02:14 PM

Rick,

Thanks for the info.

Inside transactions if it fails everything rolled back, but its the only situation I can find where his happens.

Are you trying adordd. All feed back its a great help.

Im trying it for a big app conversion and browses with relations run without any code change except a autoinc field to use for recno().

Regards

Antonio H Ferreira
Posts: 731
Joined: Fri Oct 07, 2005 07:42 AM
Re: ADO RDD xHarbour
Posted: Fri Apr 10, 2015 03:02 PM

Is possible get library for Borland C 5.5 ?
Today, direct from Harbour, is imposible make this library.

Regards

O te pago una cerveza si lo consigues... ;-)

Saludos

Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
Posts: 2706
Joined: Fri Oct 07, 2005 01:50 PM
Re: ADO RDD xHarbour
Posted: Fri Apr 10, 2015 04:01 PM

Antonio

I use the ADO Class and methods to create recordsets to manage SQL.. and creating separate recordsets based on the primary key and the foreign key or a single recordset based on inner and outer joins.. not necessarily like we used to with .Dbf.

I am watching this thread with interest.

Rick Lipkin

Posts: 838
Joined: Fri Feb 10, 2006 12:14 PM
Re: ADO RDD xHarbour
Posted: Fri Apr 10, 2015 05:18 PM

Rick,

Thats the SQL normal way.

Unfortunately we would get only one recordset (joined) and to simulate Dbf behavior and working with already written apps that's not possible because it breaks completely the code.

Thus I'm working with true relations issuing SELECTS for each child only if key changes.
The speed suffers but its completely acceptable.
I'm converting a big app and till now in browses didn't need to change a single line of code!
We have indexes, scopes, seeks, relations, filters (translated to Selets) using exactly the same app source code.

Take a look at the adordd.

Your comments and ideas would be most welcome.

Ill post new version with lot of bugs corrected tomorrow morning.
The actual posted version has been much modified and is very outdated.

Regards

Antonio H Ferreira