Solved

Disable Paradox Index

Posted on 2002-07-18
12
348 Views
Last Modified: 2010-08-05
Dear Experts, please help !

     For some reason, I'd like to disable all of the index ( the primary and secondary index ) of the paradox table.

     Please help me how to do it !

Thanks from apin.

ps. I'm using D5 Enterprise and Windows ME.

In xBase version I usually do this :

Use MyTable
Set Order To 0   // ( Or set order to )
// all of the index is disabled, but not deleted
0
Comment
Question by:pc_melsa
  • 5
  • 3
  • 3
  • +1
12 Comments
 
LVL 27

Expert Comment

by:kretzschmar
ID: 7162768
you can't disable,
only delete and recreate

meikl ;-)
0
 
LVL 3

Expert Comment

by:marcoszorrilla
ID: 7163306
As Kretzschmar say its not possible, but I think you were a Clipper Programmer or Fox, it isnt?
and you want to obtain the natural order of the registers.

If you create and Autoincrement Field, and an index for this field you will obtain the same effect.

Best Regards.
Marcos.
0
 
LVL 44

Expert Comment

by:CrazyOne
ID: 7163573
Curious to why you want to do this. Are you having sorting issues you wish to change?


The Crazy One
0
 

Author Comment

by:pc_melsa
ID: 7167845
For Mr. Meikl,
    Can't we delete primary index programatically ( during run time ) ?

Thanks.
0
 

Author Comment

by:pc_melsa
ID: 7167850
For Mr. Meikl,
  Sorry, the question should be : can we delete primary and secondary index during run time ( programmatically ) ?

Thanks.
0
 
LVL 27

Accepted Solution

by:
kretzschmar earned 200 total points
ID: 7167894
yes, primary at last

just use something like this

  table1.close;  //can only be done on a closed table
  table1.indexdefs.update;  //retrieve indexes
  for i := table1.IndexDefs.Count -1 downto 0 do  //through all indexes, only the secondarys
    if not (ixprimary in table1.IndexDefs[i].Options) then
      table1.DeleteIndex(table1.IndexDefs[i].Name);
  //atleast now should be only the primary key
  table1.DeleteIndex('');  //'' is the default name for paradpx primary indexes

meikl ;-)
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 
LVL 44

Expert Comment

by:CrazyOne
ID: 7167913
Actually according to the Delphi help DeleteIndex only works on secondary index's


"Deletes a secondary index for the table.

procedure DeleteIndex(const Name: String);

Description

Call DeleteIndex to remove a secondary index for a table. Name is the name of the index to delete. DeleteIndex cannot remove a primary index.

Note:     To delete an index, an application must first open the table for exclusive access."
0
 
LVL 44

Expert Comment

by:CrazyOne
ID: 7167919
You may need to use a TQuery to this with the following statement.

DROP INDEX TheTable.PRIMARY

and then call the ExecSQL method

0
 
LVL 44

Expert Comment

by:CrazyOne
ID: 7167934
begin

  with TQuery.Create(nil) do begin
    try
      SQL.Text := 'DROP INDEX ''TheTable.db''.PRIMARY';
      ExecSQL;
    finally
      Free;
    end;
  end;

end;
0
 
LVL 27

Expert Comment

by:kretzschmar
ID: 7167979
my code is tested, crazyone->no problem with the primary key
0
 
LVL 44

Expert Comment

by:CrazyOne
ID: 7168012
Oops you are correct meikl I just tested it and it did delete the primary. It appears the Delphi Help is inaccurate about this. :>)
0
 

Author Comment

by:pc_melsa
ID: 7168606
Thank you very much !!!
Best Regards,
apin
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Suggested Solutions

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now