PDA

View Full Version : جست و جو در دیتابیس اکسس



kolibri
جمعه 10 مهر 1394, 14:49 عصر
سلام؛
این دستور می تواند از فیلد کالا آیتم های مشابه را پیدا کند:
OleDbCommand ser2 = newOleDbCommand("Select * From Kaladb Where Kala Like '%" + txtSerach.Text + "%'");



حالا اگر بخواهم به صورت هم زمان در دو یا چند فیلد جست و جو کنم چگونه باید Command رو تعریف کنم؟!

دلتنگ اسمان
جمعه 10 مهر 1394, 19:12 عصر
با سلام
معمولا برای استفاده از جستجویی با چند فیلد از یه دکمه جستجو استفاده میشه. یعنی شما فیلدهای مربوطه رو پر میکنید بعد دکمه جستجو رو میزنید و نتیجه نشان داده میشه.
که بنده از همین جستجو توبرنامه م استفاده میکنم که با جدول خودتون منطبق کنین.

string query = "SELECT * from personal WHERE 1=1 ";
if (nametxt.Text != string.Empty)
query += "AND name=@name";

if (familytxt.Text != string.Empty)
query += " AND family=@family";

if (fadertxt.Text != string.Empty)
query += " AND fadername=@fadername";
SqlCommand.Parameters.AddWithValue("@name", nametxt.Text.Trim());
SqlCommand.Parameters.AddWithValue("@family", familytxt.Text.Trim());
SqlCommand.Parameters.AddWithValue("@fadername", fadertxt.Text.Trim());

kolibri
جمعه 10 مهر 1394, 21:26 عصر
با سلام
معمولا برای استفاده از جستجویی با چند فیلد از یه دکمه جستجو استفاده میشه. یعنی شما فیلدهای مربوطه رو پر میکنید بعد دکمه جستجو رو میزنید و نتیجه نشان داده میشه.
که بنده از همین جستجو توبرنامه م استفاده میکنم که با جدول خودتون منطبق کنین.

string query = "SELECT * from personal WHERE 1=1 ";
if (nametxt.Text != string.Empty)
query += "AND name=@name";

if (familytxt.Text != string.Empty)
query += " AND family=@family";

if (fadertxt.Text != string.Empty)
query += " AND fadername=@fadername";
SqlCommand.Parameters.AddWithValue("@name", nametxt.Text.Trim());
SqlCommand.Parameters.AddWithValue("@family", familytxt.Text.Trim());
SqlCommand.Parameters.AddWithValue("@fadername", fadertxt.Text.Trim());

با این تغییرات و اضافه کردن دستور Or به راحتی تونستم چنین کاری رو انجام بدهم. الان کاربر در یک تکست باکس اطلاعات وارد می کنه و در هر دو قسمت سرچ میشه:
OleDbCommand ser2 = new OleDbCommand("Select * From Kaladb Where Kala Like '%" + txtSerach.Text + "%' Or Serial Like '%" + txtSerach.Text + "%'");