PDA

View Full Version : سوال: جستجو بر اساس دو رکورد مختلف



MehdiElexal
چهارشنبه 29 آذر 1391, 12:39 عصر
با سلام خدمت همه عزیزان

میخوام یک جستجو در دو ستون داشته باشم توسط اکسس
مثلا فرض یک دیتا بیس داریم میخوام بر اساس شماره آی دی و تاریخ جستجو کنم
که در تکتس باکس اول (آیدی) عدد 10 مثلا و تکتس باکس دوم (تاریخ) 13910928 رو وارد کنم
که در نتیجه در گریدد ویو من سطر هایی که آی دی 10 و تاریخ وارد شده رو دارن نمایش بده
کدی که فعلا دارم و درست عمل میکنه فقط بر اساس آی دی هست که میخوام با تاریخ جستجو شه
با تشکر فرآوان
if (txtFactor.Text=="")
{
MessageBox.Show("لطفا شماره فاکتور مورد نظر را وارد نمایید", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
dataGridView1.DataBindings.Clear();
dataGridView1.ReadOnly = true;
string strSql, strCon;
strCon = "Provider=Microsoft.jet.OLEDB.4.0;" + "Data Source=Database1.mdb";
OleDbConnection Con = new OleDbConnection(strCon);
Con.Open();

strSql = "Select * From Total Where ID=" + "'" + txtFactor.Text + "'";//Search By Student No
OleDbDataAdapter da = new OleDbDataAdapter(strSql, Con);
DataSet ds = new DataSet();
da.Fill(ds, "Database1");
dataGridView1.DataBindings.Add(new Binding("datasource", ds, "Database1"));

Con.Close();
}

BehinAfzar
چهارشنبه 29 آذر 1391, 12:50 عصر
سلام
شرط دوم رو به آخر دستور sql اضافه کن

strSql = "Select * From Total Where ID=" + "'" + txtFactor.Text + "'"+" AND Date="'"+..."'";"

موفق باشید

black_binary
چهارشنبه 29 آذر 1391, 12:54 عصر
فقط یک and اضاف کن

strSql = "Select * From Total Where (ID=" + "'" + txtFactor.Text + "'") AND (tarikh = " + "'" + txtTarikh.Text + "'");

MehdiElexal
چهارشنبه 29 آذر 1391, 13:26 عصر
فقط یک and اضاف کن

strSql = "Select * From Total Where (ID=" + "'" + txtFactor.Text + "'") AND (tarikh = " + "'" + txtTarikh.Text + "'");
دوست عزیز چرا پرانتز پشت آی دی باز شده ؟
این کد ایراد داره !!!
96924

MehdiElexal
چهارشنبه 29 آذر 1391, 13:34 عصر
مقداری تصحیح شد اما بازم مشکل داره

strSql = "Select * From Total Where ID="+( "'" + txtFactor.Text + "'") AND ("tarikh" = "'" + txtTarikh.Text + "'");

black_binary
چهارشنبه 29 آذر 1391, 17:22 عصر
دوست عزیز شما به جای کلمه tarikh باید اسم فیلدی که توی بانک اطلاعاتی برای ذخیره تاریخ درنظر گرفتی بذاری
همچنین بجای txtTarikh بایستی اسم تکس باکسی را بذاری که توی آن تاریخ نوشته می شود

ordebehesht
چهارشنبه 29 آذر 1391, 18:13 عصر
کد ایراد داره به این شکل تغییر بده

strSql = "Select * From Total Where ID = '" + txtFactor.Text + "' AND tarikh ='"+ txtTarikh.Text + "'";