データベースのDELETE機能?

解決


KEIKO  2003-09-05 02:37:52  No: 4626  IP: [192.*.*.*]

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

編集    削除
keiko  2003-09-05 02:51:49  No: 4627  IP: [192.*.*.*]

例えば、

delete from customer  where  CustNo = 0

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

編集    削除
えび  2003-09-05 02:59:24  No: 4628  IP: [192.*.*.*]

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

編集    削除
えび  2003-09-05 03:01:15  No: 4629  IP: [192.*.*.*]

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

編集    削除
keiko  2003-09-05 03:06:19  No: 4630  IP: [192.*.*.*]

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

編集    削除
えび  2003-09-05 03:19:08  No: 4631  IP: [192.*.*.*]

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

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

どっちでしょうか?

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

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

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

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

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

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

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

ありがとうございました

編集    削除