データベースのDELETE機能?

解決


KEIKO  2003-09-04 17:37:52  No: 4626  IP: 192.*.*.*

UpdateSQLを利用してdelete文を実行する方法を教えてほしいのですが。
お願いします。ボタンクリック時に実行したいのですが。
delphi6を使用しています。

編集 削除
keiko  2003-09-04 17:51:49  No: 4627  IP: 192.*.*.*

例えば、

delete from customer  where  CustNo = 0

を実行したいときなど
プロパティーのDeleteSQLにはSQL文が入力されているのですが。
それをどう実行するのかがわかりません。

編集 削除
えび  2003-09-04 17:59:24  No: 4628  IP: 192.*.*.*

ExecSQLメソッドを実行します。
実行後は RowsAffected プロパティに削除に該当したレコード数が
設定されます。

編集 削除
えび  2003-09-04 18:01:15  No: 4629  IP: 192.*.*.*

UpdateSQLでしたね、すいません。
DeleteSQLはQUERYコンポーネントに対してDELTETEメソッドを
実行した際に、実行されるSQL文なのでそれをプログラムで
呼ぶ必要は無いです。

編集 削除
keiko  2003-09-04 18:06:19  No: 4630  IP: 192.*.*.*

早速の返事ありがとうございます。
すみません
>QUERYコンポーネントに対してDELTETEメソッドを実行
の部分がわからないのですが。
どうじっこうするのか?がです。
お願いいたします。

編集 削除
えび  2003-09-04 18:19:08  No: 4631  IP: 192.*.*.*

先ず、プログラムの作りとして
1.QUERYコンポーネントでSELECTを実行し、取得したレコードの中から
該当する1レコードを削除

2.特定のレコードを削除だけしたい

どっちでしょうか?

編集 削除
keiko  2003-09-05 08:45:29  No: 4632  IP: 192.*.*.*

えび様へ
>1.QUERYコンポーネントでSELECTを実行し、取得したレコードの中から
該当する1レコードを削除
で実行したいと思っています。
よろしくお願いします。

編集 削除
久美  2003-09-05 10:39:01  No: 4633  IP: 192.*.*.*

ボタンクリック時に
Query1.Delete;
でいいと思いますが、
実は、今実験したら、(テーブル)書き込み禁止のエラーが出てしまいました。
どなたかお願いします。
ちなみにデーターベースはAccess2000を使用しました。

編集 削除
HOota  2003-09-05 10:45:42  No: 4634  IP: 192.*.*.*

TUpdateSQLを使う場合は、元のTQueryのれコードに対してDeleteをしますが、キャッシュに残っていますので、ApplyUpdateをかけます。

編集 削除
keiko  2003-09-05 11:06:17  No: 4635  IP: 192.*.*.*

ありがとうございました

編集 削除