• ベストアンサー

Delphi SQL

Delphi+InteBase 何がわからないのか、わかっていない状況です。 dbExpressのSQLConnection・SimpleDataSet、DataAccessのDataSource、DataControlsのDBGridを利用しています。 SimpleDataSetのDataset.CommandTextに「SELECT * FROM テーブル名」とかSQL文を書くことによって、希望のデータが表示されることまでは理解できました。 「SELECT MAX(ID) FROM テーブル名」など値を返す場合は、どのようにしたらよいのでしょうか? またCommandText:='DELETE FROM テーブル名'とすると、エラーにはなりますが、テーブルは空になっているのでtry文できりぬけています。 根本的にSQL文をどこに記述したらよいのかわかっていません。 どなたか、お助けを・・・

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

まずDelphiの教則本を1冊でも購入する事をお勧めします。 書店では少ないですがネットで探せば結構色々と出てきます。 Delphiのバージョンが不明ですがWin32の開発であればDel7もDel2006も実質変わりはありません。 さて、ご質問に簡単に回答させて頂きます。(変な所はどなたか突っ込みをお願いします) SimpleDataSetは大雑把にQueryコントロール+DataSetProvider+DataSource+ClientDataSetの塊みたいなものと考えて下さい。 なので最初はSimpleDataSetを使わず上記の4コントロールを配置してDBGridに接続すれば構造が分かり易いと思います。 話がそれてしまいましたがSQLを発行するのはQuery系コントロールです。 ADO用とかdbExpress用とか色々ありますのでご注意を。 ヘルプや書籍を見るなどしてまずは試行錯誤してみて下さい。

situmonnsya
質問者

補足

使用しているのはTurboDelphiです。 MS_ACCESSやファイルメーカはある程度使い込んでます。 ベータベースなしでのDelphiもそれなりにです。 Delphiで本格的(?)なデータベースは始めてで、とまどっています。 サイトにあったサンプルがSimpleDataSetだったので利用してました。 参考書をネットで探して一冊購入しましたが、ハズレでした。 私程度にちょうど良い参考書を教えて頂ければ幸です。

その他の回答 (2)

noname#182251
noname#182251
回答No.3

#1です。「教えて!goo」はDelphiユーザーが少ないようなので、質問先を替えた方が良いかもしれません。 http://www.users.gr.jp/content/delphiml.aspx このメーリングリストでは随分助けて貰いました。非常に高度な問題から、初心者のサポートまで、幅広く受け入れられています。 過去に投稿されたメールは下記 http://www2.big.or.jp/~osamu/Delphi/index.html で、閲覧・検索できます。

situmonnsya
質問者

お礼

ありがとうございます。

noname#182251
noname#182251
回答No.1

Delphiのバージョンなどが記されていませんし、InteBaseは使用したことがないので、あくまでも参考として。私の場合 環境:CeleronD 3.06GH + 1GB RAM + XP Home SP2 + DP6 UP2+MS-Access >「SELECT MAX(ID) FROM テーブル名」など値を返す場合は 「SELECT * FROM テーブル名」と同じようにしています >'DELETE FROM テーブル名' ADOCommandのExecuteを使用しています。

situmonnsya
質問者

補足

ターボデルファイです。 >「SELECT * FROM テーブル名」と同じようにしています 返ってきた値はどこを見たらわかるのでしょうか? 例えば SimpleDataSet1.DataSet.CommandText:='SELECT MAX(ID) FROM テーブル名'; Ret:=SimpleDataSet1.DataSet.?????; とか?

関連するQ&A