PDA

View Full Version : سوال: چرا این دستور واکشی از بانک فقط با اعداد کار میکنه ؟



elham1611
جمعه 26 خرداد 1391, 17:19 عصر
با سلام
من از این دستور برای جستجو در بانک و نشان دادن در یک datagridview استفاده کردم.
یعنی داده درون combobox رو میگیره و با استفاده از اون در بانک جستجو میکنه

مشکل اینجاست که وقتی دادهی درون combobox عدد هستن کار میکنه و وقتی کاراکتر باشن خطا میده و میگنه ستونی درون بانک اطلاعاتی با این نام ( نام انتخاب شده در combobox) وجود نداره :متفکر:

dataGridView1.DataBindings.Clear();

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=db1;Integrated Security=True");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM tabel1 WHERE darkhast= " + comboBox1.SelectedItem + "", con);
DataSet ds = new DataSet();
da.Fill(ds, "tabel1 ");
dataGridView1.DataBindings.Add(new Binding("DataSource", ds, "tabel1 "));
con.Close();

younes221
جمعه 26 خرداد 1391, 17:28 عصر
سلام ،

نوع فیلد darkhast چی هست؟

شما باید وقتی که کارکتری مثل A رو وارد کنید اونا رو بین 2 علامت تک کوتیشن ( ' ) قرار بدین تا جستجو بخوبی کار کنه . واسه اعداد لازم نیست تک کوتیشن بزارین.

پس واسه کاراکتر ها یک کوتیشن بعد از علامت مساوی بزار و همچنین یکی بین 2 علامت "" بزار تا درست بشه.

hosseinenayati_2009
جمعه 17 شهریور 1391, 02:25 صبح
سلام این را کم داشت
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM tabel1 WHERE darkhast= '" + comboBox1.SelectedItem + "'", con);