SQLのUPDATEについて

解決


ガオ〜  2015-12-26 03:35:18  No: 47834

こんばんは。
Delphi 7 Enterpriseの初心者です。
下記のようにADOCommandを利用してOracle DatabaseのTESTテーブルの
PART2フィールドを更新するプログラムを作成しました。
********************************************
with ADOCommand1 do
begin
  CommandText := 'UPDATE TEST SET PART1 = 1 WHERE PART2 = :param1';

  CommandType := cmdText;
  parameters.ParamByName('param1').Value := 'aaa';
  Execute;

  CommandText := 'COMMIT';
  CommandType := cmdText;
  Execute;
end;
********************************************

そこでご質問ですが
更新に成功したレコード数を知りたいのですが、
取得する方法はありますでしょうか?


igy  2015-12-26 04:02:51  No: 47835

ちなみに、その ADOCommand には、RowsAffected プロパティは、ありますか?


ガオ〜  2015-12-26 18:51:20  No: 47836

igyさん、お返事ありがとうございました。
確認しましたが
ADOComamndには  RowsAffected プロパティがありませんでした。


igy  2015-12-26 19:58:47  No: 47837

では、
TADOCommand を使わずに、
TADOQuery を使い、RowsAffected プロパティで、更新された行数を確認するのは、いかがですか?


ガオ〜  2015-12-26 21:13:00  No: 47838

igyさんアドバイスありがとうございます。
データベースへの更新処理は今までTADOCommandしか使用していなかったので
TADOQueryを使ってどのように更新するのかわかりません。
例文をいただけると助かるのですが・・・


igy  2015-12-26 23:14:23  No: 47839

Googleなどで、
Delphi TADOQuery 使い方
とかで検索したら、参考になるサイトとか、見つかりませんか?


ガオ〜  2015-12-27 20:30:01  No: 47840

igyさん、アドバイスありがとうございます。

xxx

に書き込みがありました。
ところで、TADOCommand と  TADOQuery の違いはなにでしょうか。


igy  2015-12-27 21:18:35  No: 47841

> ところで、TADOCommand と  TADOQuery の違いはなにでしょうか。

それぞれ、ヘルプファイルでご確認ください。

なお、ADOに限らず、他のツール(FireDAC, IBXなど)で、 SQL 文を実行する場合、
TxxQuery(xxのところはそれぞれのツール固有の文字)という名称で、
コンポーネントが用意されていることが多いです。


ガオ〜  2015-12-28 20:15:24  No: 47842

igyさん、アドバイスありがとうございました。


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

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






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