TClientDataSetをキャッシュとして使用した場合のユニーク項目の設定をするには?

解決


パンドラボックス  2007-06-20 20:38:23  No: 26762

BDS2006 SP2のDELPHIにて開発しております。

TClientDataSetとTDataSorceとTDBGridにて入力処理を行っています

キーを設定して同一のデータを入力できないようにしたいと考えています。

IndexDefsにIndexDefを追加してFieldsにキーフィールド名、
OptionsのixPrimary,ixUniqueプロパティをtrueにしてみたのですが、
チェックが行われていないようで同一のキーをもつデータの入力が可能となっています。
プロパティの設定が誤っているのか、それとも、違った実装方法にしなければいけないのか教えてください。よろしくお願いします。


パンドラボックス  2007-06-20 20:44:27  No: 26763

文字の羅列で見にくいため書き直しました。
プロパティの設定は下記になっています。

IndexDefs
  IndexDef  
    Fields キーフィールド名を設定

  Options
    ixPrimary   true
    ixUnique    true

上記の設定をおこなってもチェックが行われていないようで同一のキーをもつデータの入力が可能となっています。


Ru  2007-06-21 01:55:26  No: 26764

同じような設定して出来ました。
作成したIndexDefはClientDataSetのIndexNameプロパティに設定してるでしょうか?

設定して出来ないのならば環境によるのかも?
ヘルプには一部しかサポートされない場合があると書かれていますがそれに該当している??


パンドラボックス  2007-06-21 02:36:06  No: 26765

IndexNameプロパティに設定していませんでした。
設定したところ例外が発生するようになり、
希望した動作になりました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加