PDA

View Full Version : مبتدی: switch case



noth50
جمعه 27 بهمن 1391, 19:03 عصر
بادرود
در یک پروژه چند لایه زمانی که می خواهم اطلاعات را از دیتابیس بخوانم و در گریدویو نمایش دهم نیاز دارم که اطلاعاتی که از دیتابیس می خوانم را با استفاده از swich case تغییر دهم. این ای عمل را باید در کدام قسمت انجام دهم.
اطلاعات سطر Report به صورت عدد ذخیره شده است که نیاز است آن را به متن فارسی تغییر دهم.
کلاس در BLL

public class AddMes
{
public string Title { get; set; }
public string TextMessages { get; set; }
public string Data { get; set; }
public string Time { get; set; }
public string NumSender { get; set; }
public string NumReceive { get; set; }
public string Report { get; set; }

public static List<AddMes> GetAllValue()
{
DataAccessLayer.Message GetAll = new DataAccessLayer.Message();
SqlDataReader dr = GetAll.GetAllValue();
List<AddMes> lismes = new List<AddMes>();
while (dr.Read())
{
AddMes addmes = new AddMes();
addmes.Title = dr["Title"].ToString();
addmes.TextMessages = dr["TextMessages"].ToString();
addmes.Data = dr["Data"].ToString();
addmes.Time = dr["Time"].ToString();
addmes.NumSender = dr["NumSender"].ToString();
addmes.NumReceive = dr["NumReceive"].ToString();
addmes.Report = dr["Report"].ToString();
lismes.Add(addmes);
}
return lismes;
}
}

متد در DAL

}
public SqlDataReader GetAllValue()
{
return ExecuteReader("Data Source =(Local);Initial Catalog=Users;Integrated Security=True;",
"Select * From TBLMessage", CommandType.Text, new SqlParameter[] { });
}

فراخوانی متد در UI

GridView2.DataSource= BussinessLogicLayer.AddMes.GetAllValue();
GridView2.DataBind();

باتشکر

Mahmoud.Afrad
جمعه 27 بهمن 1391, 20:11 عصر
میتونید تغییر عدد به متن رو در دستور سلکت انجام بدید.
مثال(تغییر اعداد فیلد rank به معادل متنی):

select Table_1.name ,
case Table_1.rank
when 1 then 'عالی'
when 2 then 'خوب'
when 3 then 'متوسط'
when 4 then 'بد'
when 5 then 'خیلی بد'
end
from Table_1