PDA

View Full Version : سوال: جستجو در پایگاه



Roya Rayane
جمعه 03 خرداد 1387, 21:23 عصر
سلام دوستان.
(قبل از هر چیز بگم که جستجو کردم ولی اون چیزی که می خواستم نبود.)
من یک فرم دارم که دارای یک دیتاگرید و یک باتن ویک تکس باکس هست. که می خوام نام را که در تکس باس وارد کردم و دکمه را زدم اطلاعات موجود در جدولی به نام Test نشون داده شود.
میخواستم یکی از دوستان به مختصر و مفید این رو برام توضیح بدهد.
خیلی ممنون.

Mahdi.Kiani
جمعه 03 خرداد 1387, 21:39 عصر
اطلاعات جدول تست را می خواهسد بر اساس مقدار وارد شده در TextBox به دست بیارید؟
چندین راه دارید
1) استفاده از کوئری شبیه به کد زیر



string query = String.Format("Select * From test where stdName=N'{0}'", textBox1.Text);

2 ) یک proc در DB تعریف کنید و مقدار فیلتر را به اون پاس بدهید و نتیجه را در یافت کنید

3) کل اطلاعات جدول را load کنید و در سمت کد آن را فیلتر کنید

حالت سوم برای زمانی که اعمال فیلتر کردن زیاد است مناسب می باشد

در مورد نحوه پیاده سازی این موارد جستجو کنید
موفق باشید

baran_mehr
جمعه 03 خرداد 1387, 22:53 عصر
سلام گلم.
من سعی میکنم برات یه توضیح مختصر بدم.
برای این کار و پر کردن دیتاگرید خودت با فیلد مورد نظرت نیاز به یک کانکشن و یک دستور یا کامند داری و باید اطلاعات فیلد رو از جدول خودت خارج کنی و به دیتا گرید انتقال بدی.برای شروع کار باید یک سری متغیر تعریف کنی متغیر ها رو تو قسمت جنرال فرم(سراسری) تعریف کن .که این متغیرها عبارتنداز:

Dim cnt As New OleDb.OleDbConnection
Dim cmd As New OleDb.OleDbCommand
Dim da As New OleDb.OleDbDataAdapter
Dim dt As New DataTable
بعد برای اتصال به دیتابیس باید نوع و محل کانکشن خودتو تعریف کنی،این کد رو داخل فرم لود قرار بده،در واقع این کد منو به یک جدول اکسس که در مسیر زیر قرار داره متصل میکنه:

cnt.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\data\student.mdb"
cnt.Open()
حالا برای نوشتن دیتور select باید نوع کامند و مقدارشو تعیین کنی:

cmd.CommandType = CommandType.Text
cmd.CommandText = "select name,family from data"
بعد کانکشن مورد نظر رو به کامند ارتباط میدیم:

cmd.Connection = cnt
و در مرحله پایانی میرسیم به پر کردن شی جدول با استفاده از دیتااداپتور و متصل کردن دیتاگرید به جدول :

da.SelectCommand = cmd
dt.Clear()
da.Fill(dt)
GridView1.DataSource = dt
خوش باشی.

Roya Rayane
شنبه 04 خرداد 1387, 00:04 صبح
سلام.
خیلی ممنون از کمکت.
یک مشکل دیگه هم دارم اون هم اینکه وقتی Where به همین دستوری که شما لطف کردید اضافه می کنم خطا میده . این رو اگه بگید و طریقه استفاده از Like را هم بگید خیلی عالی میشه.
ممنون.
************************************************** ***********
************************************************** ***********
آسمونت همیشه پر ستاره. *
************************************************** ***********
************************************************** ***********

اَرژنگ
شنبه 04 خرداد 1387, 01:01 صبح
سلام.
خیلی ممنون از کمکت.
یک مشکل دیگه هم دارم اون هم اینکه وقتی Where به همین دستوری که شما لطف کردید اضافه می کنم خطا میده . این رو اگه بگید و طریقه استفاده از Like را هم بگید خیلی عالی میشه.
ممنون.


گوگل کمک نبود؟‌
http://www.google.com.au/search?q=Where+Like&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:official&client=firefox-a

gdevnb
شنبه 04 خرداد 1387, 04:14 صبح
سلام
اگه منظورت اینه که یه اسم از طریق TextBox گرفته بشه و مشخصات مربوط به این شخص از جدول Test بازیابی بشه با یه Query ساده اطلاعات رو درون دیتاست بریز بعد به دیتاگرید بایندش کن.

مهدی رحیم زاده
شنبه 04 خرداد 1387, 06:57 صبح
سلام دوستان.
(قبل از هر چیز بگم که جستجو کردم ولی اون چیزی که می خواستم نبود.)
من یک فرم دارم که دارای یک دیتاگرید و یک باتن ویک تکس باکس هست. که می خوام نام را که در تکس باس وارد کرد و دکمه را زد اطلاعات موجود در جدولی به نام Test نشون بدهد.
میخواستم یکی از دوستان به مختصر و مفید این رو برام توضیح بدهد.
خیلی ممنون.
سلام
مهم اینه که منظور شما چی باشه ! اگر که توی بانک اطلاعاتیه فقط کافیه یه کد ساده براش بنویسی همین ، مثل این :

Select Field1,Field2 from TableName Where Field1='12' AND Field2 Like "%m"
که این کد ساده جست و جو رو بر اساس دو تا فیلد که اولی عددی و دومی رشته ی رو در نظر میگیره .
بیشتر توضیح خواستی بگو نمونه برنامه بزارم
موفق باشید.

baran_mehr
شنبه 04 خرداد 1387, 07:27 صبح
سلام گلم.
اضافه کردن دستور Where هم به سادگی انجام میشه:

cmd.CommandText = "select name,family from data where(nane='ali')"
اگر میخوای مقدار شرط Where رو از یک شئ مثل textbox بگیری به صورت زیر عمل میکنی:

cmd.CommandText = "select name,family from data where(name='" & textbox1.text &"')"از دستور like هم برات یک مثال میزنم:

cmd.CommandText = "select name,family from data where(name like 'ali%'"
امیدوارم به مشکلت کمک کنه.موفق باشی.:تشویق: