PDA

مشاهده نسخه کامل : کد جست و جو...



MoH3N_PhP
29-09-11, 15:39
Only the registered members can see the link

کد جست و جو در بانک اطلاعاتیو میخواستم...

مثلآ...تویه تکست باکس نام یکی رو بزنی که در بانک اطلاعاتی ذخیره است رو پیدا کنه و در بقیه فیلدها نشون بده...

اگه نتونستم درست توضیح بدم بگین تا شفاف سازی کنم..

Only the registered members can see the link

ravegoat
29-09-11, 18:54
دوست گرامي؛ عضويت شما رو در PCN تبريك مي گم.

براي جست و جو در پايگاه داده چه از نوع SQL و چه از نوع Access مي تونيد از فرمان SELECT استفاده كنيد.
فرض كنيد نام جدولي كه مي خواهيد در آن جست و جو كنيد، MyTable باشد. همچنين فرض كنيد نام ستون حاوي نام ها، pName باشد. آن گاه يك ارتباط با پايگاه داده ي مورد نظر خودتون برقرار مي كنيد و سپس با فرمان زير (Command) ركورد ها رو استخراج مي كنيد:



"SELECT * FROM MyTable WHERE pName='" & Text1.Text & "'"

Text1 همون تكست باكسي هستش كه نام رو درون اون وارد مي كنيد.

براي آشنايي با بيش تر با جست و جو در پايگاه داده مي تونيد از مقالات آموزشي زير استفاده كنيد:

پايگاه Access:

Only the registered members can see the link

Only the registered members can see the link (Only the registered members can see the link)


پايگاه SQL:

Only the registered members can see the link
Only the registered members can see the link (Only the registered members can see the link)


موفق باشيد
آرمين

designme
29-09-11, 22:34
دوست گرامي؛ عضويت شما رو در PCN تبريك مي گم.

براي جست و جو در پايگاه داده چه از نوع SQL و چه از نوع Access مي تونيد از فرمان SELECT استفاده كنيد.
فرض كنيد نام جدولي كه مي خواهيد در آن جست و جو كنيد، MyTable باشد. همچنين فرض كنيد نام ستون حاوي نام ها، pName باشد. آن گاه يك ارتباط با پايگاه داده ي مورد نظر خودتون برقرار مي كنيد و سپس با فرمان زير (Command) ركورد ها رو استخراج مي كنيد:



"SELECT * FROM MyTable WHERE pName='" & Text1.Text & "'"

Text1 همون تكست باكسي هستش كه نام رو درون اون وارد مي كنيد.

براي آشنايي با بيش تر با جست و جو در پايگاه داده مي تونيد از مقالات آموزشي زير استفاده كنيد:

پايگاه Access:

Only the registered members can see the link

Only the registered members can see the link (Only the registered members can see the link)


پايگاه SQL:

Only the registered members can see the link
Only the registered members can see the link (Only the registered members can see the link)


موفق باشيد
آرمين



دستور Select به صورت عمومی عین مقدار داده شده رو جستجو میکنه یعنی برای جستجوی مثلا نام خانوادگی، اگر اسم دارای پسوندی باشه باید در ورودی عینا بهمراه نام خانوادگی وارد بشه وگر نه نتیجه ای حاصل نمیشه!
آیا روشی برای رفع این مشکل سراغ دارید؟

ravegoat
29-09-11, 23:46
دستور Select به صورت عمومی عین مقدار داده شده رو جستجو میکنه یعنی برای جستجوی مثلا نام خانوادگی، اگر اسم دارای پسوندی باشه باید در ورودی عینا بهمراه نام خانوادگی وارد بشه وگر نه نتیجه ای حاصل نمیشه!
آیا روشی برای رفع این مشکل سراغ دارید؟



"SELECT * FROM MyTable WHERE pName='" & Text1.Text & "'"

كد فوق تنها ركورد هايي رو برمي گردونه مي كنه كه مقدار فيلد ستون pName اون ها دقيقا" برابر مقدار موجود در تكست باكس باشه. در نتيجه طبق گفته ي شما اگر فرضا" نام موجود در جدول داراي پسوندي باشه، ديگه در نتايج جست و جو ظاهر نميشه.
اما اين امر به خاطر استفاده از دستور SELECT نيست بلكه به خاطر به كار بردن عملگر تساوي (=) هستش.

راه حل موجود براي جست و جوي مورد نظر شما استفاده از شرط LIKE هستش. با اصلاح فرمان به شكل زير، برنامه تمام فيلد هاي ستون pName رو كه مقدار تكست باكس رو درون خودشون داشته باشن، بر مي گردونه:



"SELECT * FROM MyTable WHERE pName LIKE '%" & Text1.Text & "%'"

همون طور كه ملاحظه مي كنيد همچنان از دستور SELECT استفاده شده.

براي اطلاعات بيش تر:

Only the registered members can see the link
Only the registered members can see the link


موفق باشيد
آرمين

designme
30-09-11, 09:30
"SELECT * FROM MyTable WHERE pName='" & Text1.Text & "'"

كد فوق تنها ركورد هايي رو برمي گردونه مي كنه كه مقدار فيلد ستون pName اون ها دقيقا" برابر مقدار موجود در تكست باكس باشه. در نتيجه طبق گفته ي شما اگر فرضا" نام موجود در جدول داراي پسوندي باشه، ديگه در نتايج جست و جو ظاهر نميشه.
اما اين امر به خاطر استفاده از دستور SELECT نيست بلكه به خاطر به كار بردن عملگر تساوي (=) هستش.

راه حل موجود براي جست و جوي مورد نظر شما استفاده از شرط LIKE هستش. با اصلاح فرمان به شكل زير، برنامه تمام فيلد هاي ستون pName رو كه مقدار تكست باكس رو درون خودشون داشته باشن، بر مي گردونه:



"SELECT * FROM MyTable WHERE pName LIKE '%" & Text1.Text & "%'"

همون طور كه ملاحظه مي كنيد همچنان از دستور SELECT استفاده شده.

براي اطلاعات بيش تر:

Only the registered members can see the link
Only the registered members can see the link


موفق باشيد
آرمين



ممنون آرمین جان
چند روز پیش داشتم یه کد جستجو مینوشتم هرچی فکر کردم از چی باید استفاده کنم چیزی به ذهنم نرسید
آخه قبلا php مینوشتم تو php هم اصل کار کوئری های دیتا بیسند
یعنی باگفته شما کمکی نا امید شدم از خودم:whistle:
ممنونت:1. (23):
محمد

MoH3N_PhP
30-09-11, 13:10
خیلی ممنون از همتون...
والله ما قبلآ یه صفحه فرمول مینوشتیم واسش...
اگه دستورش فقط همون یه سطر بالا باشه عالیه
Only the registered members can see the link