سلام دوستان چطور میشه جستجویی مثل توضیحات زیر داشته باشم
میخوام وقتی کاربر تاپ میکنه سلطان تبار هم کسایی که سلطانتبار هستن نشون بده و هم کسایی که سلطان تبار
درواقع فضای خالی رو هم در نظر بگیره و هم نگیره و تمامشون رو نشون بده؟؟؟
سلام دوستان چطور میشه جستجویی مثل توضیحات زیر داشته باشم
میخوام وقتی کاربر تاپ میکنه سلطان تبار هم کسایی که سلطانتبار هستن نشون بده و هم کسایی که سلطان تبار
درواقع فضای خالی رو هم در نظر بگیره و هم نگیره و تمامشون رو نشون بده؟؟؟
سلام
من خودم با این کد جستجو رو انجام میدم و درست جواب میده :
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());
سلام.
اگر منظورتون زبان sql هست که باید در تالار T-SQL مطرح می شد و با کدی شبیه به این به مقصد می رسید:
select * from table1 where name like N'FirstName%' and name like N'%lastName';
بدون در نظر گرفتن جا به جایی کلید واژه ها:
select * from table1 where name like '%FirstName%' and name like '%LastName%';
و اگر منظورتون linq و C# هست:
var q=DB.table1.Where(r=> r.Name.StartsWith("firstName") && r.Name.EndsWith("LastName"));
بدون در نظر گرفتن جا به جایی کلید واژه ها:
var q=DB.table1.Where(r=> r.Name.Contains("FirstName") && r.Name.Contains("lastName"));
چشم ظاهر گر نبیند عیب نیست چشم دل گر ننگرد باید گریست**********اَلسَّلامُ عَلَى الْحُسَيْنِ وَ عَلى عَلِىِّ بْنِ الْحُسَيْنِ وَ عَلى اَوْلادِ الْحُسَيْنِ وَ عَلى اَصْحابِ الْحُسَيْنِ
منظورم در محیط C# بوده که Query رو برای SQL ارسال میکنم
و این دستوری که شما گفتین
select * from table1 where name like '%FirstName%' and name like '%LastName%';
اگر تایپ کنم سلطان تبار هرشخصی که درش سلطان تبارباشه نشون میده مثلاً میرسلان تبار یا ...
اما من میخوام با زدن سلطان تبار هم سلطان تبار و هم سلطانتبار نشون داده بشه، و قبل و بعش هرچی بود مهم نیست مهم اینه که فضای خالی بین کلمه روو هم در نظر بگیره و هم در نظر نگیره
و فقط یک فیلد فامیلی رو میخوام ، نام و نام خانوادگی رو نمیخوام
یعنی اشتباهات تایپی که ممکنه کاربران داشته باشن برطرف بشه
میتونید برای جستجو فاصله ها رو (هم از مبدا هم از مقدار مورد جستجو) حذف کنید.
string lastNameToFind = txtLastName.Text.Replace(" ", String.Empty);
string query = "SELECT LastName FROM UsersTable WHERE REPLACE(LastName, ' ', '') = @LastNameToFind";
cmd.Parameters.Add("LastNameToFind", lastNameToFind);
// Execute command
البته برای پشتیبانی از Tab و... لازمه کد رو کاملتر کنید.
جوری که شما می خوایین میشه ولی کد تمیزی نیست
شما می تونید در قسمت WHERE رشته پرس و جو ، بار رشته رو " با فاصله " و "بدون فاصله" OR کنید
موفق باشید