PDA

View Full Version : سوال: چطور ميتوان به ركوردهاي خروجي يك adoqry به صورت random دسترسي داشت؟



manzare
پنج شنبه 24 مرداد 1387, 12:27 عصر
چطور ميتوان به ركوردهاي خروجي يك adoqry به صورت random دسترسي داشت؟
من اين كد را براي گرفتن خروجي نوشتم



with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Text:= 'select qtext , ta,tb,tc,td from qtable inner join atable on (atable.qcode=qtable. qcode ) and (qtable.type=:t) and (qtable.degree=:d)';
Parameters.ParamByName('d').Value :=1;
Parameters.ParamByName('t').Value :=1;
Open;
SQL.Text ;
memo1.Text:=ADOQuery1.Fields.Fields[0].AsString;
RadioGroup3.Items.Clear ;
RadioGroup3.Items.Insert(0,ADOQuery1.Fields.Fields[1].AsString);
RadioGroup3.Items.Insert(1,ADOQuery1.Fields.Fields[2].AsString);
RadioGroup3.Items.Insert(2,ADOQuery1.Fields.Fields[3].AsString);
RadioGroup3.Items.Insert(3,ADOQuery1.Fields.Fields[4].AsString);
end;
ميتوان با next به بعدي رفت اما چطور ميتوان به n(يك عدد تصادفي) بعدي پريد ؟


اگر بخوام اين كار را با كرسر انجام بدم چه كد نويسي داره؟

vcldeveloper
پنج شنبه 31 مرداد 1387, 03:25 صبح
تعداد رکوردهای برگشت داده شده توسط AdoQuery را با استفاده از خصوصیت RecordCount بدست بیارید، سپس یک عدد تصادفی بین 1 تا RecordCount تولید کنید، در نهایت عدد تصادفی بدست آمده را به خصوصیت RecNo از AdoQuery اختصاص بدید؛ AdoQuery رکورد فعال را به رکوردی که شماره اش بوسیله عدد تصادفی مشخص شده تغییر می دهد (کرسر را به رکورد مورد نظر منتقل می کند).