PDA

View Full Version : جستجو در بانک اطلاعاتی



Harry
دوشنبه 24 شهریور 1382, 09:59 صبح
با سلام خدمت دوستان .
من یه بانک اطلاعاتی در Access درست کردم که حدود 1200 تا از فعلهای زبان انگلیسی همراه با سه زمان هر فعل در آن وجود دارد (مجموعا 4 فیلد می شه) .
حالا می خواستم برنامه ای در دلفی بنویسم که دارای 4 تا DBedit باشد که هر موقع در اولی فعل را تایپ می کنم در بانک اطلاعاتی جستجو شود و سه زمان فعل در سه DBedit بعدی نمایش داده شود .
راستش قبلا این کارو کرده بودم ولی الان یادم رفته . :(
در ضمن می خواستم بگم اگه کسی از دوستان سایت آموزشی یا کتاب خاصی که در مورد دلفی و را بطه آن با بانک های اطلاعاتی باشه را سراغ داره معرهی کنه .
ممنون .

v_shalchian
دوشنبه 24 شهریور 1382, 11:47 صبح
سلام
شما با یک Table به جدول مورد نظر و با یک Datasource به جدول متصل شوید.و سپس با چهار DBEdit به DataSource و فیلدهای مورد نظر متصل شوید.
و این کد را استفاده کنید.

if (Table.Locate('Field1',DBEdit1.Text ,[]))then
// Do Something
این کد جدول را برای Field1 جستجو می کند و اگر جواب شرط If درست باشد اشاره گر جدول را به ردیف فیلد مورد نظر می برد.
این کد را بسته به خواست خود می توانید در رویداد Click یک Button یا در رویداد Keypress از DBedit1 بنویسید.
در ضمن به اینجا هم سر بزنید بد نیست.

http://delphi.about.com/cs/database

(امید)
دوشنبه 24 شهریور 1382, 13:05 عصر
با سلام

برای جستجو در دیتابیس( که از اساسی ترین کارهای برنامه نویسی دیتا بیس است) بجز راهی که آقای شلچیان گفت می توان از کوئری و در سطح ابتدایی از یک حلقه و دستور if نیز استفاده کرد.بدلیل سرعت بالای دستورات SQL معمولا استفاده از کوئری پیشنهاد می شود.
برای منظور دوم از پارامتر استفاده می شود .
مقدار دهی پارامتر یا بصورت استاتیک در خود کوئری نوشته می شود یا در برنامه وارد می کنیم.
در تمامی موارد گفته شده مثال و نمونه در این فرویم هست . زحمتش فقط یه سرچ کوچولو.اگر یافت نشد بگید دوباره بنویسیم.

Adios

rtech
دوشنبه 26 دی 1384, 14:01 عصر
آقا در مورد جستجو و کوئری بیشتر توضیح بده

mzjahromi
دوشنبه 26 دی 1384, 14:13 عصر
آقا در مورد جستجو و کوئری بیشتر توضیح بده

ببینید جستجو و Query یه بحث جداست ولی یه Query ساده که مشکل شما رو حل کنه اینه


select * From TableName Where FieldName=...

و تو دلفی اینجوری باید بنویسی


AdoQuery1.Active:=False;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('select * From TableName Where FieldName=');
AdoQuery1.SQL.Add(QuotedStr(Edit1.Text));
AdoQuery1.Active:=True;

MiRHaDi
دوشنبه 26 دی 1384, 23:44 عصر
سلام
اینجا بهترین کار همون Locate است ! چون یک جدول است و یک جواب هم دارد
کار کردن باهاشم که آسونه
آقا دیتابیست رو آپلود کن بچه های دیگه هم استفاده کنند و سورس رو دقیق برات بنویسند
بای