サイトを拝見させていただきました。以前、ほかの方で重複処理に関する質問をしていましたが、私も同じような質問があります。これから追加しようとしているデータがあるかどうか、SELECT文で重複データを確認するいい手段を探しています。現在試していることが、クエリをオープンし、フォームにあるTEDITに入力されている個人IDをSELECT文のWHEREを使い検索、そして、QUERYのレコードをカウントして、1上なら重複ありと判断するというほうほうです。このやり方は、間違っていないでしょうか?それとも、ほかに良いやり方をご存知でしょうか?TRY EXCEPTを使う方法は、できれば避けたいと思っています。
また、レコードカウントの部分の方法を、IF文の中で、する方法を教えていただけたら、幸いです。
たとえば、IF QUERY.SQL.ADD('SELECT Count(*) FROM TABLE WHERE CUSTOMER_ID =''' + EDIT.TEXT + '''') > 0
ただ、これはQUERYが開いたままの状態ですので、失敗しました。
何卒よろしくお願いいたします。
>ただ、これはQUERYが開いたままの状態ですので、失敗しました。
閉じてから実行するのは、いかがですか?
別のTQueryを使えばいかがですか?
function isRecord(Akey : String):Boolean;
var
Query1:TQuery;
begin
Query1 := TQuery.Create;
try
with Query1 do
begin
Close;
with SQL do
begin
Clear;
Add('SELECT Count(*) FROM TABLE WHERE CUSTOMER_ID =''' + Akey + '''');
end;
try
Open;
if not EOF then
result := true
else
result := false;
except
Showmessage('Open Error');
result := false;
end;
Close;
end;
finally
Freeandnil(Query1);
end;
end;
非常に参考になりました。助けてくださり、ありがとうございました。
ツイート | ![]() |