PDA

View Full Version : سوال: جستجو میان همه ستون های جدول ( سی شارپ / SQLite )



barman.ar16
شنبه 12 فروردین 1396, 18:54 عصر
سلام به همه دوستان و اساتید عزیز
من توی فرم سی شارپم یک دیتا گرید ویو ( از نوع کامپوننت telerik ) دارم که میخوام بوسیله یک تکست باکس کوئری سرچ بزنم
خب در نگاه اول همه به ذهنشون میرسه که چرا از filtering خود تلریک استفاده نمی کنم که خودش واقعا معرکه است

باید بگم که دیتا گرید ویو من به یک جدول در sqlite وصله که اون جدول بوسیله متد bulk insert و به روش تجمعی توسط کاربر پر شده و درون اون تعداد زیادی داده هست که از حرف عربی "ي" یعنی ی با دو نقطه زیرش استفاده کرده که بالطبع توی فیلترینگ دیتا گرید ویو تلریک باید حتما با کلید شیفت ط نوشته بشه وگرنه نمیشناستشون و همینطور حرف ک ، خب متاسفانه کاربر مبتدی هست و البته تعدادشون زیاد هست بنابراین نمیشه این مطلب رو بهشون گفت و البته جالب هم نیست
بنابراین تصمیم گرفتم با متد سرچ و یک تکست باکس اینکار رو انجام بدم که این کد رو پیدا کردم :

SqliteConnection con = new SqliteConnection(datasource ....");
string Qquery = "select col1 from mytable where col1 like '%" + textBox1.Text.Trim() + "%'";
SqliteDataAdapter da = new SqliteDataAdapter(Qquery, con);
DataTable dt = new DataTable();
da.Fill(dt);
rgv.DataSource = dt;

خب سوال :
میخواستم ببینم میشه با یک کدی طوری کوئری زد که با یک تکست باکس که کاربر پر میکنه اون مقدار بین تمامی ستونهای جدول جستجو کنه و نتیجه رو نشون بده چون این کوئری رو میشه برای چند تکست باکس نوشته و هر بار یکی از ستون ها رو جستجو کرد ولی من میخوام با یک تکست باکس بین همه ستون ها سرچ کنم
متشکرم

barman.ar16
شنبه 12 فروردین 1396, 18:55 عصر
یک مطلب هم یادم رفت بگم توی keypress تکست باکس این رو نوشتم که کاربر وقتی ی معمولی تایپ می کنه تبدیل به ی با 2 نقطه زیرش بشه :

if (e.KeyChar.ToString() == "ی")
{
e.KeyChar = Convert.ToChar("ي");
}

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

golestan1
سه شنبه 29 مرداد 1398, 21:14 عصر
سلام دوستان عزیز کسی جوابی به این سوال نداره بنده هم همین مشکل جستجو در همه ستون ها رو دارم

Shadow_net
سه شنبه 29 مرداد 1398, 21:39 عصر
میشه از OR استفاده کرد
SELECT ID, FirstName, LastName, Age FROM dbo.tbl1
WHERE (FirstName LIKE N'%param%') OR
(LastName LIKE N'%param%')