ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

インデックスを使わないデータベース検索 

更新 : 2010/02/21

 



解説:
データベースでは蓄えたデータから目的のキーワードで検索する機能は必須です。
検索の方法はいくつか用意されていますが、ここではインデックスを使わない検索を試してみましょう。

使用例:
アプリケーションを起動すると、DBEdit1 にデータが現れます。Edit1 に文字列を入力して、SpeedButton1 をクリックすると検索が始まり、DBEdit1 に結果が表示されます。

準備としては、Table, DataSource, DBEdit, Edit, SpeedButton を適当に配置します。

プロパティを以下のように設定します。
Table1 の DatabaseName プロパティは BCDEMOS。TableName に COUNTRY.DB。
DataSource1 の DataSet は Table1。
DBEdit1 の DataSource は DataSource1。DataField を Name。
設定が済んだら、Table1 の Active を true にして DBEdit にデータが表示されるか確認してください。

アプリケーションを起動して、Edit1 に文字列("Canada" など)を入力して、SpeedButton1 をクリックしてみてください。
DBEdit1 に "Canada" が表示されるはずです。

//-------------------------------------------------------------------
void __fastcall TSearchForm::SpeedButton1Click(TObject *Sender)
{
  // インデックスを使用しない Table の検索
    TLocateOptions Opts;
    Opts.Clear();

    // Name 列の値が 「EditName->Text」 である最初の行にカーソルを移動します。
    Table1->Locate("Name", EditName->Text, Opts);
}
//-------------------------------------------------------------------



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.