« 2005年9月 | トップページ | 2006年2月 »

★DBExpressでトラブル

[Delphi2006 WIN32]

Delphi7で作ったプログラムをDelphi2006でコンパイルすると動作がおかしいので、シンプルなプログラムを作成して試してみました。
問題点は、SQLDataSetで取り出された内容をClientDataSetに反映できないということです。

[環境]
Windows XP Pro SP2、Delphi2006(WIN32)
Firebird 1.5.2.4731

1.フォームに次のコンポーネントを配置して関連付けします。
  SQLDataSet1+DataProvider1+ClientDataSet1+DataSource1+DBGrid1
  Edit1, Button1

2.SQLConnection1を設定します。

3.SQLDataSet1.Commatextを設定します。
  SQLDataSet1.Commatext := 'SELECT * FROM SYAIN WHERE ID = :ID';

4.Button1.OnClickを設定します。

  procedure TForm1.Button1Click(Sender: TObject);
  var
   ID: Integer;
  begin
   ID := StrToInt(Edit1.Text);
   ClientDataSet1.Close;
   SQLDataSet1.Close;
   SQLDataSet1.ParamByName('ID').AsInteger := ID;
   SQLDataSet1.Open;
   ClientDataSet1.Open;
  end;

このプログラムで、IDを変えてもDBGridの表示は一番最初に入力したIDのデータのままとなっています。
Delphi7から変わったことと言えば、DBExpressのInterBase用のDLLがdbexpint.dllからdbxint30.dllに変更されたことだけです。
Firebirdなのが原因なのかよくわかりませんが、解決方法も見つけられず、困っています。


|

■Borland Developer Studio 2006

ようやくインストールしてみました。(Update1適用済み)
Delphiをちょっと使って感じたことを書きますね。
 ・DelphiやC++など使う言語を選択して起動でき、又、起動時間もかなり短縮されました。
 ・デザインがXPらしくなった。
 ・additionalタブ,samplesタブ に TrayIconコンポがある。
 ・FlowPanel,GridPanelという新しいコンポがある。
 ・コンパイル時にC++Builderのようなダイアログが表示される。
 ・TCPClientが復活している。
 ・samplesタブのShellTreeView、ShellComboBox、ShellListViewが無くなっている。
 ・Delphi2005で困っていたことが改善!
   データモジュールでの複数のコンポーネントを選択して移動やコピー、貼り付けができる。
   オブジェクトインスペクタでのctrl+c,ctrl+vでのコピー、貼り付けができる。

全体としてDelphi2005より安定感もあり、いい感じです。

|

« 2005年9月 | トップページ | 2006年2月 »