PDA

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



esmartiz_red
چهارشنبه 25 دی 1387, 11:30 صبح
سلام دوستان من دارم یه سرچ برای بانک اطلاعاتی می نویسم اما نمی دونم چرا کار نمی کنه و یا اصلا کار من مورد دارد
من برای کا روی بانک از stored procedure استفاده می کنم
می خوام نحوه سرچ اینطوری باشه که کاربر اگه یه کاراکتر یا مثلا یک مجموعه کراکتر و یا هر کاراکتری که وارد کرد تمامی گزینه هایی که رشته وارد شده یا کاراکتر وارد شده درش وجود داره برگردونه
در ضمن دستورو توی stored procedure می خوام
در ضمن جستجو فارسی با شه

iranrose63
چهارشنبه 25 دی 1387, 12:22 عصر
دوست عزيز لطف كن sp خودت رو بنويس تا بتونيم بر اساس اون ارهنماييت كنيم

esmartiz_red
چهارشنبه 25 دی 1387, 12:45 عصر
دوست من اینم دستوری که می نویسم



select * from Table Where Fname Like '@Parm%' or Fname Like '%@Parm' or Fname Like '%@Parm%'

وقتی مستقیم مقدار می دم کار می کنه اما وقتی از پارامتر استفاده می کنم کار نمی کنه

slashslash2009
چهارشنبه 25 دی 1387, 14:11 عصر
یه مقداری فکر می کنم کدت سخته فقط از یه like چرا استفاده نمی کنی


DataTable dt = new DataTableDataTable dt = new DataTable();
connect consql = new connect();
dt = consql.MySelect("select * from input where mark like '%" + textBox19.Text + "%'");
dataGridView3.DataSource = dt;

مثلا با دستور بالا تمام کالاهایی که مارکشون مثل textboz1 هست و یا چیزی ازون توش هست رو بر میگردونه

newgoldenman
چهارشنبه 25 دی 1387, 14:21 عصر
دوست من اینم دستوری که می نویسم



select * from Table Where Fname Like '@Parm%' or Fname Like '%@Parm' or Fname Like '%@Parm%'

وقتی مستقیم مقدار می دم کار می کنه اما وقتی از پارامتر استفاده می کنم کار نمی کنه

شما اين Query كه نوشتي رو، يك بار توي MessageBox نمايش بده، ببين چي از آب در مياد! مشكلتون رو اونوقت متوجه ميشين.
از شيوه اي كه دوست عزيزمون slashslash2009 فرمودند استفاده كنيد.

موفق باشيد.

esmartiz_red
چهارشنبه 25 دی 1387, 14:31 عصر
دوست من این روشی که گفتی چه طور تو storeed procdure بنویسم من می خوام sql این کارو برام انجام بده من روشی که شما گفتین می دونم اما تو Sql اجرا نمی شه

slashslash2009
چهارشنبه 25 دی 1387, 17:41 عصر
شما 3 بار فیلد fname رو داری با یک پارامتر چک میکنی واسه چی آخه فقط یک بار این کارو کنی بسه . شایدم از نحوه ارسال پارامتراتونه .

esmartiz_red
چهارشنبه 25 دی 1387, 21:57 عصر
نه دوست عزیز من اون دستورو همونطوری نوشتم که همه شما گیر دادین به نحوه ارسال پارامتر