ホーム
Top.Mail.Ru Yandeks.Metrika
フォーラム: "Bases";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

ダウン

FoxProインデックス 似ている枝を探す


Серж   (2001-12-05 06:13) [0]

Как программно проиндексировать бызу данных формата FoxPro ничего не получается ни через TTable ни через SQL?



panov   (2001-12-05 07:02) [1]

Индексирую таблицы.
Если у тебя VFP - то можешь не напрягаться.

Если просто FOXPRO, то формируешь в TQuery.SQL
INDEX ON <имя индекса> ON <имя таблицы>(<имя поля>)



Серж   (2001-12-06 04:00) [2]

Просто FoxPro, но после выполнения того что Вы написали вылезает сообщение
Invalid use of keyword. Token INDEX

Если делать оператором
CREATE INDEX индекс ON база (поле,...)
вылазит сообщение
Invalid index descriptor
File or directory does not exist
File: база.CDX
Index does not exist
File база.MDX



Серж   (2001-12-06 04:07) [3]

Необходимо программно создать УНИКАЛЬНЫЙ индекс по нескольким полям!



Dick Gonsales   (2001-12-06 07:09) [4]

Это описано в help BDE а не в справке Delphi, (dbiAddIndex, IDXDesc)
Там написано какие параметры надо использовать (их там много,
но реально тебе нужны штуки 4-5 типа формат базы, уникальность, тэг ...)

if TQurey - CREATE INDEX then
Он для dbf создаст индекс *.mdx а не *.cdx т.к. считает
его dBase а не Fox. Если индекс есть он его не грохнет
а выдаст ошибку

А вообще тут есть определенная лажа. Delphi создает старый cdx индекс,
(если через TTable)
который чуть ли ни в два раза больше чем родной fox 2.0 & >. И если его
reindex из Delphi он его тоже превратить в старый формат.
Возможно будет лучше написать реиндексацию или создание индекса
в fox и запускать отдельно это приложение из Delphi?

Эта процедура создает индекс, в uses прибавить BDE
==========================
procedure fDbiAddIndex4(Tbl: TTable);

VAR
NewIndex: IDXDesc;
始まる
NewIndex.szTagName := "NewIndex1";
NewIndex.bPrimary := False;
NewIndex.bUnique := True;
NewIndex.bDescending := False;
NewIndex.bMaintained := True;
NewIndex.bSubset := False;
NewIndex.bExpIdx := False;
NewIndex.iFldsInKey := 1;
NewIndex.aiKeyFld[0] := 2;
NewIndex.szKeyExp := "";
NewIndex.szKeyCond := "";

NewIndex.bCaseInsensitive := False;
NewIndex.iBlockSize := 0;
Check(DbiAddIndex(Tbl.dbhandle, Tbl.handle, PChar(Tbl.TableName),
szFoxPro, NewIndex, nil));
終わり
==================



ページ: 1 全枝

フォーラム: "Bases";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

2階









メモリ:0.82 MB
時間:0.032 c
4-22465
AKV
2001-11-02 10:44
2002.01.08
マウスが置かれているウィンドウハンドルを決定する方法


1-22147
vinni2000
2001-12-20 12:59
2002.01.08
RichEditに関するアドバイスが必要です!!!!!!!!


3-21997
J
2001-12-05 11:46
2002.01.08
SYSDBAなどの権限を持つユーザーを作成する方法


3-21947
ダイハード
2001-12-05 13:18
2002.01.08
Oracleテーブルからのインデックスリストの取得


3-21912
セルゲイ・N.
2001-12-04 06:23
2002.01.08
IBからDelphiへ、またはその逆への日付処理





アフリカーンス語 アルバニア語 Arabic アルメニア語 アゼルバイジャン語 バスク ベラルーシ Bulgarian カタロニア語 中国語(簡体字) 中国語(繁体字) クロアチア チェコ語 デンマーク語 Dutch 英語 エストニア語 タガログ語 Finnish フランス語
ガリシア語 ジョージアン ドイツ語 ギリシャ語 ハイチ語 ヘブライ語 ヒンディー語 ハンガリー語 アイスランド語 Indonesian アイリッシュ イタリア語 日本語 Korean ラトビア語 リトアニア マケドニア語 Malay マルタ語 Norwegian
ペルシア語 ポリッシュ ポルトガル語 ルーマニア Russian セルビア Slovak スロベニア語 スペイン語 スワヒリ語 Swedish Thai トルコ語 ウクライナ語 ウルドゥー語 ベトナム語 ウェールズ語 イディッシュ語 ベンガル語 ボスニア語
セブアノ語 エスペラント グジャラート語 ハウサ語 モン族 イボ ジャワ語 カンナダ語 クメール語 ラオ語 ラテン マオリ語 マラーティー語 モンゴル語 ネパール語 パンジャブ語 ソマリ タミル語 テルグ語 ヨルバ語
ズールー語
Английский Французский Немецкий Итальянский ポルトガル語 Русский Испанский