PDA

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



Roya Rayane
سه شنبه 21 خرداد 1387, 22:27 عصر
سلام دوستان .
من توی برنامم یک بخش جستجو دارم که طبق نام.نام خانوادگی و کد جستجو میکنه.
حالا می خوام چند تا فیلد رو جستجو کنم(مثل نام ونام خانوادگی با هم) ولی خطا میده.


public void Search(string Tablename,string Field,string Is)
{
ds.Clear();
command = new SqlCommand();
command.CommandText = "Select * from " + Tablename + " where " + Field + " like '" + Is + "%'";
command.Connection = con;
adp.SelectCommand = command;
adp.Fill(ds, Tablename);
}

این کد توی لایه دیتا بیسم هست.
وقتی توی لایه لاجیک این کد رو صدا می زنم و وقتی دوتا فیلد رو با هم(مثل نام نام خانوادگی) می خوام جستجو کنم خطا میده.


switch (WorkerForm.Combo.Text)
{
case "نام":
database.Search("worker", "name", WorkerForm.SearchText);
break;
case "نام خانوادگی":
database.Search("worker", "fname", WorkerForm.SearchText);
break;
case"کد":
database.Search("worker", "cod", WorkerForm.SearchText);
break;
}

حالا همین کد رو در نظر بگیرد و لی با فیلد Name&Fname با هم که به خطا منجر میشه.


database.Search("worker", "name , Fname", WorkerForm.SearchText);
break;
case"نام و نام خانوادگی":
ممنون.

Sociant7
سه شنبه 21 خرداد 1387, 22:43 عصر
فکر نکنم اینجوری جواب بده ! اس کیو الت ایراد داره! باید واسه هر کدوم از فیلدات این شرت رو بکار ببری نه با هم!



Select * From table where name like '%anything%' or fname like '%anything%'