SQL根據字串型別欄位進行排序,可以在取值的時候處理
阿新 • • 發佈:2019-01-03
DataTable dt = DB.ExecuteDataTable(sql.ToString(), CommandType.Text, null);//資料來源
dt.Columns.Add("status", Type.GetType("System.Int32"));//新增欄位進行排序,int型別
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["proj_status"].ToString() == "wangong")//如果專案狀態是完工
{
dt.Rows[i]["status"] = 1;
}
else if (dt.Rows[i]["proj_status"].ToString() == "heding")//如果專案狀態是核定
{
dt.Rows[i]["status"] = 2;
}
else//其他情況
{
dt.Rows[i]["status"] = 3;
}
}
DataView dataView = dt.DefaultView;//從新進行排序
dataView.Sort = "status asc";
dt = dataView.ToTable();
dt.Columns.Add("status", Type.GetType("System.Int32"));//新增欄位進行排序,int型別
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["proj_status"].ToString() == "wangong")//如果專案狀態是完工
{
dt.Rows[i]["status"] = 1;
}
else if (dt.Rows[i]["proj_status"].ToString() == "heding")//如果專案狀態是核定
{
dt.Rows[i]["status"] = 2;
}
else//其他情況
{
dt.Rows[i]["status"] = 3;
}
}
DataView dataView = dt.DefaultView;//從新進行排序
dataView.Sort = "status asc";
dt = dataView.ToTable();