PDA

View Full Version : سوال: کمک برا نوشتن دستور select برای حل این مشکل.



mohammad_2039
جمعه 12 فروردین 1390, 13:30 عصر
با سلام
دوستان 2 تا تکست باکس داریم که تو هر کدوم چند تا عنوان نوشته شده که با ویرگول از هم جدا شدن، میخوام یه select بزنیم به جدول مربوطه که بیاد همه موارد از جدول رو که number اونها برابرتکس باکس اول و mozo اونها برابر تکس باکس دوم هست رو نمایش بده. اما بعد از اجرا فقط ردیف های مربوط به اولین number و اولین mozo رو در گرید نشون میده. دستور رو اینطوری نوشتم:



string aa = textBox1.Text.Replace(",", "','");
string aa1 = "'" + aa + "'";
string bb = textBox2.Text.Replace(",", "','");
string bb1 = "'" + bb + "'";
string s = string.Format(@"select * from tbl_test where number in ({0}) AND mozo in ({1})", aa1, bb1);
SqlDataAdapter madapt = new SqlDataAdapter(s, sqlConnection1);
DataTable dt = new DataTable();
madapt.Fill(dt);
dataGridView1.DataSource = dt;



وقتی BreakPoint میزارم جواب select رو اینطوری چاپ میکنه:




"select * from tbl_test where number in ('شماره1',' شماره2',' شماره3',' شماره4') AND mozo in ('موضوع1',' موضوع2')"

mohammad_2039
جمعه 12 فروردین 1390, 14:12 عصر
این هم عکس تیبل هستش.
68130

shadi khanum
جمعه 12 فروردین 1390, 14:50 عصر
دستور Select که نوشتین منطقا درسته فقط یه ایرادی داره که اونم این که اول ' شماره2' , ' شماره3' ,' شماره4' , ' موضوع2' یه فاصله هست واسه همین فقط اولی رو برمیگردونه. قبل از اینکه string aa = textBox1.Text.Replace(",", "','"); کنی، همه فاصله ها رو با "" replace کن.

exlord
جمعه 12 فروردین 1390, 15:44 عصر
دستور Select که نوشتین منطقا درسته فقط یه ایرادی داره که اونم این که اول ' شماره2' , ' شماره3' ,' شماره4' , ' موضوع2' یه فاصله هست واسه همین فقط اولی رو برمیگردونه. قبل از اینکه string aa = textBox1.Text.Replace(",", "','"); کنی، همه فاصله ها رو با "" replace کن.
کاملا درسته ...
الان فقط 'موضوع1' و 'شماره1' با مقادیر جدول تطابق دارن ... بقیه همشون 1 space اولشون هست ...
string b = textbox2.Text;
b = "'" + b.Replace(",","','").Replace(" ","") + "'";