PDA

View Full Version : سوال: جستجو در دیتا بیس بترتیب اولویت



MehdiElexal
دوشنبه 01 شهریور 1389, 20:46 عصر
سلام یک برنامه نمونه میخوام که تو دیتا بیس جستجو کرده باشه
مثلا اول بر اساس نام بعد تاریخ ثبت
ممنون

MehdiElexal
دوشنبه 01 شهریور 1389, 23:32 عصر
یک دیتا گرید ویو دارم
دیتا بیسم هم اکسس
ممنون میشم کمک کنید

vbworm
سه شنبه 02 شهریور 1389, 03:00 صبح
دستور جستجوش به شکل زیره :

Select * from TABLE where field1='YOURTEXT1' and field2='YOURTEXT2'

MehdiElexal
سه شنبه 02 شهریور 1389, 05:07 صبح
دستور جستجوش به شکل زیره :

Select * from TABLE where field1='YOURTEXT1' and field2='YOURTEXT2'
ممنون اما منظورمن رو متوجه نشدید
من در وی بی یک تکتس باکس دارم که توش نام رو مینویسیم یک تکتس باکس دیگم هست که توش شماره عضویت رو مینویسیم یک دیتا گرید ویو هم داریم که به دیتا بیس متصل هست و اطلاعات رو به نمایش در میاره
حالا من میخوام با وارد کردن نام و شماره عضویت با زدن دکمه جستجو ابتدا در دیتا گرید نام هارو جدا کنه (نمایش بده) بعد بر اساس تکتس باکس عضویت شماره عضویت رو بعد از نام لیست کنه
مثلا داریم
دیتا بیس :
Ali 232
Ali 423
Mohamad 354
-----
txtName.text="Ali
txtOzviat.text="232
حالا میخوام بعد از زدن دکمه جستجو در دیتا گرید فقط علی بشماره عضویت 232 نمایش داده بشه
ببخشید زیادی حرف زدم ، ممنون

MehdiElexal
سه شنبه 02 شهریور 1389, 12:50 عصر
هیچ کی نیست که جواب منو بدههههههه؟

nasim bahari
سه شنبه 02 شهریور 1389, 16:10 عصر
سلام دوست عزیز......

من فکر می کنم شما می خواین در دیتا گریدتون جستجو کنین نه جداول پایگاه داده.....

پس بجای استفاده از DataGridView از DataView استفاده نمایید که متدی بنام Filter داره که خیلی راحت می تونین DataView رو فیلتر کنید....

البت این کار رو در دیتاگرید هم می تونین انجام بدین ولی چون دیتا ویو دارای متد فیلتر هستش برای کار شما راحتر هستش.....

در ضمن برای جستجو در جداول پایگاه داده هم می تونی از روشی ( کدی ) که دوستمون ارائه کردن استفاده کنی...

موفق باشی

MehdiElexal
سه شنبه 02 شهریور 1389, 20:10 عصر
سلام دوست عزیز......

من فکر می کنم شما می خواین در دیتا گریدتون جستجو کنین نه جداول پایگاه داده.....

پس بجای استفاده از DataGridView از DataView استفاده نمایید که متدی بنام Filter داره که خیلی راحت می تونین DataView رو فیلتر کنید....

البت این کار رو در دیتاگرید هم می تونین انجام بدین ولی چون دیتا ویو دارای متد فیلتر هستش برای کار شما راحتر هستش.....

در ضمن برای جستجو در جداول پایگاه داده هم می تونی از روشی ( کدی ) که دوستمون ارائه کردن استفاده کنی...

موفق باشی
نه من یه Sample میخوام که تو دیتا گرید ویو چجوری فیلتر میشه کرد
همین

MehdiElexal
سه شنبه 02 شهریور 1389, 22:50 عصر
ای بابا آقا یکی بگه من چجوری میتونم تو دیتا گریدم سرچ کنم
خوبه همتون بلدین و هیچی نمیگید !!!! :عصبانی++:

nasim bahari
سه شنبه 02 شهریور 1389, 23:59 عصر
سلام.....دوست عزیز

لطفاً از ایجاد پست های Off جداً خودداری نمایید..........

MehdiElexal
چهارشنبه 03 شهریور 1389, 00:57 صبح
سلام.....دوست عزیز

لطفاً از ایجاد پست های Off جداً خودداری نمایید..........
من واقعا شرمندم
اما من سورس بلد نیستم
و کارهام رو با ویزارد انجام دادم و میدم
یک خط کد میخوام که دکمه رو که زدی از تکتس باکس نام رو از دیتا گرید پیدا کنه ، همین !!!
اینی که گذاشتید خیلی ممنون اما من نه بلدم باها کار کنم نه اینکه تونستم باهاش کار کنم
از زحمات شما هم خیلی ممنون
فقط یک خط کد میخوام
ممنون

MehdiElexal
چهارشنبه 03 شهریور 1389, 11:02 صبح
اکانتم ریست خورده نمیتونم جواب تو با پیغام خصوصی بدم فعلا Nasim
به جون مهدی گریه مارو تو در آوردی تایپیک کتاب الکترونیکی رو چرا حذف کردی بچه خوب ؟
به اکانت من نگاه نکن ریست خورده این جوری شده ، از هر کدوم از بچه ها بپرسی منو میشناسن
warez چه صیغه ایه نکن جون حاجی با من این کارارو

------------------

واسه برنامه چه توضیحی بدم 50 بار توضیح دادم که عزیزم
ببین یه btnSearch داریم یه txtSearch داریم یه DGView داریم
حالا هرچی تو تکتس باکس نوشتیم ازفیلد اول دیتا گرید یعنی نام و نام خانوادگی جستجو کنه
اگه بازم نشد بگو برناممو بگذارم
بخدا آدمو یاد ناظمای مدرسه میندازی
تایپیک آموزشی و چرااااااااااا خذف کردی ؟ از 100 تا فحشم بد تر بود

nasim bahari
چهارشنبه 03 شهریور 1389, 11:24 صبح
سلام دوست عزیز.............

ملاک این سایت تعداد پست ها و یا تایپیک های ایجاد شده توسط کاربرانش برای حذف پست های اونها نمی باشد.......برای حذف تایپیک هات می تونی قوانین سایت رو مطالعه کنی.

در ضمن امیدوارم که این نفرین هایی رو که کردی در مورد من نباشه.....آخه من مدیر تالار نمی باشم....و پست هات رو حذف نکرده ام.....اگه یه کم دقت کنی می بینی که تنها کسی که داره جواب میده من هستم.

لطفاً برنامه رو بذار تا تکمیلش کنم.....

موفق باشی....

MehdiElexal
چهارشنبه 03 شهریور 1389, 17:39 عصر
سلام دوست عزیز.............

ملاک این سایت تعداد پست ها و یا تایپیک های ایجاد شده توسط کاربرانش برای حذف پست های اونها نمی باشد.......برای حذف تایپیک هات می تونی قوانین سایت رو مطالعه کنی.

در ضمن امیدوارم که این نفرین هایی رو که کردی در مورد من نباشه.....آخه من مدیر تالار نمی باشم....و پست هات رو حذف نکرده ام.....اگه یه کم دقت کنی می بینی که تنها کسی که داره جواب میده من هستم.

لطفاً برنامه رو بذار تا تکمیلش کنم.....

موفق باشی....


سلام
گذاشتم برنامه رو
خیلی ممنون که پیگیری میکنید
تشکر

nasim bahari
چهارشنبه 03 شهریور 1389, 18:04 عصر
سلام دوست عزیز

من با VS2008 کار می کنم در حالی که شما با 2005 پس برای این که مشکلی پیش نیاد . کدها رو می زام خودت زحمتش رو بکش و در برنامه قرار بده.

در درون دکمه جستجو این کد رو قرار بده......



'دوست عزیز لطفاًدر تعریف جداول برای اسم فیلد ها از حروف انگلیسی استفاده کن
'شما بجای Name باید نام و نام خانوادگی که اسن فیلدتون هست قرار بدین



If TextBox1.Text = "" And TextBox2.Text = "" Then

Me.BedehiBindingSource.Filter = "name like '%%'"

ElseIf TextBox1.Text <> "" And TextBox2.Text <> "" Then

Me.BedehiBindingSource.Filter = "name like '%" & TextBox1.Text & "%' and tarikh ='" & TextBox2.Text & "'"

ElseIf TextBox1.Text <> "" And TextBox2.Text = "" Then

Me.BedehiBindingSource.Filter = "name like '%" & TextBox1.Text & "%'"

ElseIf TextBox1.Text = "" And TextBox2.Text <> "" Then

Me.BedehiBindingSource.Filter = "tarikh ='" & TextBox2.Text & "'"

End If


موفق باشین

MehdiElexal
چهارشنبه 03 شهریور 1389, 19:28 عصر
سلام دوست عزیز

من با VS2008 کار می کنم در حالی که شما با 2005 پس برای این که مشکلی پیش نیاد . کدها رو می زام خودت زحمتش رو بکش و در برنامه قرار بده.

در درون دکمه جستجو این کد رو قرار بده......



'دوست عزیز لطفاًدر تعریف جداول برای اسم فیلد ها از حروف انگلیسی استفاده کن
'شما بجای Name باید نام و نام خانوادگی که اسن فیلدتون هست قرار بدین



If TextBox1.Text = "" And TextBox2.Text = "" Then

Me.BedehiBindingSource.Filter = "name like '%%'"

ElseIf TextBox1.Text <> "" And TextBox2.Text <> "" Then

Me.BedehiBindingSource.Filter = "name like '%" & TextBox1.Text & "%' and tarikh ='" & TextBox2.Text & "'"

ElseIf TextBox1.Text <> "" And TextBox2.Text = "" Then

Me.BedehiBindingSource.Filter = "name like '%" & TextBox1.Text & "%'"

ElseIf TextBox1.Text = "" And TextBox2.Text <> "" Then

Me.BedehiBindingSource.Filter = "tarikh ='" & TextBox2.Text & "'"

End If
موفق باشین



به همین وقت عزیز ایشالا هر چی میخوای خدا بهت بده :قلب:

MehdiElexal
چهارشنبه 03 شهریور 1389, 19:59 عصر
یه سوال دیگه ! با چه کدی میتونم نام Record هام رو تو دیتا گرید عوض کنم ؟
مثلا name نمایش داده بشه نام
ممنون

MehdiElexal
چهارشنبه 03 شهریور 1389, 22:21 عصر
بازهم سوال :لبخند:
من شرط شمارو نوشتم خیلی خوب هم کار میکنه
الان میخوام 3 شرطیش کنم کد هم نوشتم نه اروری میده و نه چیزی سرچ هم نمیکنه
ممنون میشم یه نگاهی بندازید ، با تشکر


If txtname.Text = "" And txtDate.Text = "" And txtPrice.Text = "" Then

Me.BedehiBindingSource.Filter = "Name like '%%'"
MessageBoxFa.Show("شما موردی را جستجو نکرده اید", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error)

ElseIf txtname.Text <> "" And txtDate.Text <> "" And txtPrice.Text <> "" Then

Me.BedehiBindingSource.Filter = "Name like '%" & txtname.Text & " and Date ='%" & txtDate.Text & "'"

ElseIf txtname.Text <> "" And txtDate.Text = "" And txtPrice.Text = "" Then

Me.BedehiBindingSource.Filter = "Name like '%" & txtname.Text & "%'"

ElseIf txtname.Text = "" And txtDate.Text <> "" And txtPrice.Text = "" Then

Me.BedehiBindingSource.Filter = "Date ='" & txtDate.Text & "'"

ElseIf txtname.Text = "" And txtDate.Text = "" And txtPrice.Text <> "" Then

Me.BedehiBindingSource.Filter = "Price ='" & txtPrice.Text & "'"
End If

خودم احساس میکنم ایراد از این خط هست

Me.BedehiBindingSource.Filter = "Name like '%" & txtname.Text & "%' and Date ='" & txtDate.Text & "'"
منم دنبالش رو نوشتم منتها اینجا حذفش کردم

Me.BedehiBindingSource.Filter = "Name like '%" & txtname.Text & "%' and Date ='" & txtDate.Text & "%' and Price ='" & txtPrice.Text & "'" به این صورت بود
بازم ممنون

nasim bahari
چهارشنبه 03 شهریور 1389, 23:45 عصر
بازهم سوال :لبخند:
من شرط شمارو نوشتم خیلی خوب هم کار میکنه
الان میخوام 3 شرطیش کنم کد هم نوشتم نه اروری میده و نه چیزی سرچ هم نمیکنه
ممنون میشم یه نگاهی بندازید ، با تشکر


If txtname.Text = "" And txtDate.Text = "" And txtPrice.Text = "" Then

Me.BedehiBindingSource.Filter = "Name like '%%'"
MessageBoxFa.Show("شما موردی را جستجو نکرده اید", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error)

ElseIf txtname.Text <> "" And txtDate.Text <> "" And txtPrice.Text <> "" Then

Me.BedehiBindingSource.Filter = "Name like '%" & txtname.Text & " and Date ='%" & txtDate.Text & "'"

ElseIf txtname.Text <> "" And txtDate.Text = "" And txtPrice.Text = "" Then

Me.BedehiBindingSource.Filter = "Name like '%" & txtname.Text & "%'"

ElseIf txtname.Text = "" And txtDate.Text <> "" And txtPrice.Text = "" Then

Me.BedehiBindingSource.Filter = "Date ='" & txtDate.Text & "'"

ElseIf txtname.Text = "" And txtDate.Text = "" And txtPrice.Text <> "" Then

Me.BedehiBindingSource.Filter = "Price ='" & txtPrice.Text & "'"
End Ifخودم احساس میکنم ایراد از این خط هست

Me.BedehiBindingSource.Filter = "Name like '%" & txtname.Text & "%' and Date ='" & txtDate.Text & "'" منم دنبالش رو نوشتم منتها اینجا حذفش کردم

Me.BedehiBindingSource.Filter = "Name like '%" & txtname.Text & "%' and Date ='" & txtDate.Text & "%' and Price ='" & txtPrice.Text & "'" به این صورت بود
بازم ممنون

سلام دوست عزیز....

اگه Error نمیده پس مشکل از کد ها نیست و منطق کار مشکل داره.....بررسی کن که در چه حالتی جواب می ده و در حالتی جواب نمی ده ؟

مثلاً چون شما سه تکست باکس برای جستجو دارین. بررسی کن که در حالت مثلاً وقتی هر ستا پر است جواب میده یا نه ؟ و اینکه وقتی خانه اول پره و دیگر تکست ها خالی هستند جواب می ده یا نه ؟ خلاصه کلیه حالات رو در نظر بگیر....


--------------------
دوست عزیز در این خط بعد از نام تکست باکس باید '% بذاری که نذاشتی....



Me.BedehiBindingSource.Filter = "Date ='" & txtDate.Text & "'"

MehdiElexal
جمعه 05 شهریور 1389, 14:15 عصر
سلام
من هنوزاینجاگیر کردم ، چی کار کنم ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟


'Empty Search
If txtname.Text = "" And txtDate.Text = "" And txtPrice.Text = "" Then
Me.BedehiBindingSource.Filter = "Name like '%%'"
MessageBoxFa.Show("شما موردی را جستجو نکرده اید", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error)
'All Searching
ElseIf txtname.Text <> "" And txtDate.Text <> "" And txtPrice.Text <> "" Then

Me.BedehiBindingSource.Filter = "Name like '%" & txtname.Text & "%' and Date ='" & txtDate.Text & "%' and Price ='" & txtPrice.Text & "'"
'Name Search
ElseIf txtname.Text <> "" And txtDate.Text = "" And txtPrice.Text = "" Then

Me.BedehiBindingSource.Filter = "Name like '%" & txtname.Text & "%'"
'Date Search
ElseIf txtname.Text = "" And txtDate.Text <> "" And txtPrice.Text = "" Then

Me.BedehiBindingSource.Filter = "Date ='" & txtDate.Text & "'"
'Price Search
ElseIf txtname.Text = "" And txtDate.Text = "" And txtPrice.Text <> "" Then

Me.BedehiBindingSource.Filter = "Price ='" & txtPrice.Text & "'"

End If

فقط بر اساس اسم درست کار میکنه !!! پس تاریخ و خرید چی

MehdiElexal
شنبه 06 شهریور 1389, 15:33 عصر
نسیم خانم که پیچید به قضیه یکی دیگه لا اقل کمک کنه !!!!

nasim bahari
شنبه 06 شهریور 1389, 17:08 عصر
سلام........

اگه فکر کردی که با این حرف ها ما ناراحت میشیم......در اشتباهی

تو مرام ما پیچوندن نیست حتی اگه انتهای جاده دوستی یه پرتگاه بزرگ باشه.......

من که گفتم برنامه رو بذار تا کمکت کنم......آخه من اشکالی در کد ها نمی بینم.......اگه برنامه رو نذاری من چطوری کمک کنم.........

به هر حال دم شما گرم...