プロが教えるわが家の防犯対策術!

Delphi+InteBase

何がわからないのか、わかっていない状況です。

dbExpressのSQLConnection・SimpleDataSet、DataAccessのDataSource、DataControlsのDBGridを利用しています。

SimpleDataSetのDataset.CommandTextに「SELECT * FROM テーブル名」とかSQL文を書くことによって、希望のデータが表示されることまでは理解できました。

「SELECT MAX(ID) FROM テーブル名」など値を返す場合は、どのようにしたらよいのでしょうか?
またCommandText:='DELETE FROM テーブル名'とすると、エラーにはなりますが、テーブルは空になっているのでtry文できりぬけています。

根本的にSQL文をどこに記述したらよいのかわかっていません。

どなたか、お助けを・・・

A 回答 (3件)

まずDelphiの教則本を1冊でも購入する事をお勧めします。


書店では少ないですがネットで探せば結構色々と出てきます。
Delphiのバージョンが不明ですがWin32の開発であればDel7もDel2006も実質変わりはありません。

さて、ご質問に簡単に回答させて頂きます。(変な所はどなたか突っ込みをお願いします)
SimpleDataSetは大雑把にQueryコントロール+DataSetProvider+DataSource+ClientDataSetの塊みたいなものと考えて下さい。
なので最初はSimpleDataSetを使わず上記の4コントロールを配置してDBGridに接続すれば構造が分かり易いと思います。
話がそれてしまいましたがSQLを発行するのはQuery系コントロールです。
ADO用とかdbExpress用とか色々ありますのでご注意を。

ヘルプや書籍を見るなどしてまずは試行錯誤してみて下さい。

この回答への補足

使用しているのはTurboDelphiです。
MS_ACCESSやファイルメーカはある程度使い込んでます。
ベータベースなしでのDelphiもそれなりにです。

Delphiで本格的(?)なデータベースは始めてで、とまどっています。
サイトにあったサンプルがSimpleDataSetだったので利用してました。

参考書をネットで探して一冊購入しましたが、ハズレでした。

私程度にちょうど良い参考書を教えて頂ければ幸です。

補足日時:2007/07/27 00:24
    • good
    • 0

#1です。

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

ありがとうございます。

お礼日時:2007/07/31 10:06

Delphiのバージョンなどが記されていませんし、InteBaseは使用したことがないので、あくまでも参考として。

私の場合
環境:CeleronD 3.06GH + 1GB RAM + XP Home SP2 + DP6 UP2+MS-Access

>「SELECT MAX(ID) FROM テーブル名」など値を返す場合は
「SELECT * FROM テーブル名」と同じようにしています

>'DELETE FROM テーブル名'
ADOCommandのExecuteを使用しています。

この回答への補足

ターボデルファイです。

>「SELECT * FROM テーブル名」と同じようにしています
返ってきた値はどこを見たらわかるのでしょうか?

例えば
SimpleDataSet1.DataSet.CommandText:='SELECT MAX(ID) FROM テーブル名';
Ret:=SimpleDataSet1.DataSet.?????;
とか?

補足日時:2007/07/27 00:46
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!