PDA

View Full Version : سوال: مشکل در سرچ در دیتابیس برنامه کتابخانه



nasime_shomal
سه شنبه 04 اسفند 1388, 13:59 عصر
سلام دوستان من به تازگی کتاب سی شارپم رو تموم کردم. الان دارم اون چیزیایی راکه خوانده ام به امتحان میزارم. از یک برنامه کتابخانه شروع کردم. توی این برنامه یه قسمت سرچ کتاب هستش که با خاصیت تکست چنج یک تکست باکس انجام میشه. این سرچ برا ساس سه نوع سرچ صورت میگیره یکی نام کتاب یکی شماره کتاب و دیگری نویسنده کتاب. من برای هر یک از این نوع جستجو یک رادیو باتن قرار داده ام. و با انتخاب هر نوع رادیو باتن سرچ بر اساس اون نوع تنظیم میشه. حالا مشکل من اینجاست که وقتی برنامه را اجرا میکنم و شروع به تایپ کلمه میکنم توی اولین حرف مشکلی نداره و برنامه به خوبی کار میکنه ولی توی دومین حرف که میزنم یه ارور میده به این شکل
There is already an open DataReader associated with this Command which must be closed first.
که این ارور در این خطه :

sdrKetabKhane = scFormKetabkhane.ExecuteReader();
کل دستورات توی تکست چنج هم اینه:

private void textBoxSearch_TextChanged(object sender, EventArgs e)
{
SqlDataReader sdrKetabKhane = null;
SqlCommand scFormKetabkhane ;
if (radioButtonBookName.Checked == true)
scFormKetabkhane = new SqlCommand("select * from TableKetabKhane where bookName like \'%" + textBoxSearch.Text + "%\'", connKetabKhane);
else if (radioButtonWriter.Checked==true)
scFormKetabkhane = new SqlCommand("select * from TableKetabKhane where bookID like \'%" + textBoxSearch.Text + "%\'", connKetabKhane);
else
scFormKetabkhane = new SqlCommand("select * from TableKetabKhane where writer like \'%" + textBoxSearch.Text + "%\'", connKetabKhane);

sdrKetabKhane = scFormKetabkhane.ExecuteReader();

int c = 0;
while (sdrKetabKhane.Read())
{
dataGridViewKetabKhane.Rows.Add();
dataGridViewKetabKhane.Rows[c].Cells[0].Value = sdrKetabKhane["bookName"].ToString();
dataGridViewKetabKhane.Rows[c].Cells[1].Value = sdrKetabKhane["tedadeKetab"].ToString();
dataGridViewKetabKhane.Rows[c].Cells[2].Value = sdrKetabKhane["writer"].ToString();
dataGridViewKetabKhane.Rows[c].Cells[3].Value = sdrKetabKhane["bookID"].ToString();
dataGridViewKetabKhane.Rows[c].Cells[4].Value = sdrKetabKhane["subject"].ToString();
c++;

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

nasime_shomal
سه شنبه 04 اسفند 1388, 18:37 عصر
کسی نمیتونه جواب منو بده؟ من کلی سر این موضوع گیرم. یکی جوابم رو بده

nasime_shomal
سه شنبه 04 اسفند 1388, 20:17 عصر
دست همه دوستانی که کمک نکردند و یا میخواستند کمک کنن ولی وقت نکردند درد نکنه خودم فهمیدم مشکل چی بود باید دیتا ریدرم رو می بستم

slashslash2009
سه شنبه 04 اسفند 1388, 20:54 عصر
\ وردار مثال :

"Select name,part from tbl1 where name like '%" + textbox1.Text + "%'"