PDA

View Full Version : Sql, ADO, فیلدهای تکراری



baboozadeh
شنبه 07 مرداد 1385, 04:58 صبح
سلام دوستان// لطفا" فرمی رو در نظر بگیرین که یه EditBox داره، یه Button، و کامپوننت های ADO برای اتصال به یه دیتابیس Access.
میخوام با کلیک button یه رکورد insert کنم بشرطی که مقدار تکراری نباشه، ولی نمی دونم خروجی رو چجوری چک کنم.



ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select ID from pay where pay.ID='+Edit1.Text);
ADOQuery1.Open;
ADOQuery1.ExecSql;

با این query یا چنین رکوردی پیدا میشه یا نمیشه، از کجا باید بفهمم که پیدا شد یا نه؟
شرمنده اگه سوال بچگانه ست، و ممنونم ;)

----------------
این تاپیک رو در مورد فیلدهای تکراری خوندم چیزی دستگیرم نشد.
http://www.barnamenevis.org/forum/showthread.php?t=48853&highlight=sql

mzjahromi
شنبه 07 مرداد 1385, 07:41 صبح
if AdoQuery1.RecordCount>0 then
پیدا شده
if not AdoQuery1.Eof then
پیدا شده
و تا حدودی
if AdoQuery1.Fields[0].AsString=Edit1.text then

Bahmany
شنبه 07 مرداد 1385, 22:08 عصر
//اینجا اول Bookmark رو ذخیره کن (توی مثال های دلفی هست)\
AdoTable1.DisableControls;
if AdoTable1.locate('ID',Edit1.text,[]) = false then
begin
// insert code

end;
AdoTable1.EnableControls;
// بوک مارک رو برگردون

baboozadeh
یک شنبه 08 مرداد 1385, 03:42 صبح
دوستان ممنونم!
راه دیگه ای هم پیدا کردم:
TADOQuery متدی داره بنام IsEmpty، در صورتی که خالی باشه True برمیگردونه
مرسی