PDA

View Full Version : جست و جوی یک رکورد خاص در بانک Access



alone_rana0101
دوشنبه 10 بهمن 1384, 08:10 صبح
سلام .
برای جست و جو توی بانک ، از طریق دلفی باید از چه دستوری استفاده کنم .
می خوام یه رکورد خاص رو ، نشون بده و توی DbGrid قرار بده .
مثلا توی یه Table شماره دانشجویی و نمرات و نام درس رو دارم . با وارد کردن شماره دانشجویی ، کلیه نمرات رو نشون بده .
ممنون میشم کسی کمکم کنه .
یا حق ...

mehranFX
دوشنبه 10 بهمن 1384, 08:36 صبح
به برنامه نویس خوش آمدی.
اگه می خوای از توابع دلفی استفاده کنی سریع ترین روش استفاده از متد ADOTable.Locate هستش البته توابع دیگری هم وجود داره با این تابع می تونی روی یک فیلد ایندکس دار جستجو کنی پارامتر اول اون نام فیلد مورد جستجو و پارامتر دوم مقداری که دنبالش میگردی و پارامتر سوم هم Optional هست یعنی می تونی از [] استفاده کنی .

mzjahromi
دوشنبه 10 بهمن 1384, 12:38 عصر
اگر درست متوجه شده باشم تو موردی که شما می خواهید کار کنید Query بهترین گزینه هست

alone_rana0101
دوشنبه 10 بهمن 1384, 17:50 عصر
سلام .
فرمودین فیلد ایندکس دار ...
یعنی فیلدهای معمولی رو شامل نمیشه ؟
یه کلمه ی دیگه آخر متدی که گفته بودین قرار میگیره
...Locase دقیقا نمیدونم چیه . لازم نیست این رو وارد کنم ؟
ممنون .
یا حق ...

mehranFX
دوشنبه 10 بهمن 1384, 22:04 عصر
سلام
حتما باید فیلد ایندکس دار باشه و دیگه اینکه به جای parameter أخر می تونی از براکت باز و بسته استفاده کنی این جوری : []

alone_rana0101
چهارشنبه 12 بهمن 1384, 09:33 صبح
سلام .
خیلی ممنونم از کمکتون .
اما متد Adotable.locate یه مقدار منطقی رو بر می گردونه
این کدی که من نوشتم اشتباهه ؟
کد رو تو بخش بعدی می نویسم . چطوری میشه کدها رو توی پاسخها وارد کرد ؟

alone_rana0101
چهارشنبه 12 بهمن 1384, 09:35 صبح
DBGrid2.datasource:=adotable2.locate ('information','st-number',strtoint(edit1.text),[]);

mehranFX
چهارشنبه 12 بهمن 1384, 09:44 صبح
بیبن این مقدار منطقی اگه True باشه یعنی همچین رکوردی با این مشخصات پیدا شده و الان اشاره گر جدول روی این رکورد قرار گرفته و اگر false باشه یعنی چیزی پیدا نکرده !!!

Mavi.X
چهارشنبه 12 بهمن 1384, 10:39 صبح
با سلام

اگه میخوایین شماره دانشجویی رو وارد کنین و تموم نمرات مربوط به اون رو براتون برگردونه، باید از دستورات SQL استفاده نمائید.

alone_rana0101
چهارشنبه 12 بهمن 1384, 20:55 عصر
سلام .
منظور من دقیقا همین چیزیه که شما گفتین .
من میخوام این مشخصات توی یه DBGrid نشون داده بشه .
میشه کدش رو بنویسین یا راهنمایی دقیق تری کنین .
ممنون از شما .
یا حق ...

alidll
سه شنبه 18 بهمن 1384, 08:57 صبح
یک ADOQuery ,DBGrid,DataSourceروی فرم بذار ، بعد ADOQuery رو به بانک و DataSource رو به ADOQuery و DBGrid رو به DataSource وصل کن و سپس دستورات زیر را در برنامه بذار :
var sql : string;
sql:='select * feom tb_student where code_student = '+edit1.text;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sql);
ADOQuery1.Active:=True;
البته در دستورات sql باید نام جدول و فیلد های بانک خودت رو بذاری.