在(后台)cs界面中,如果数据库中不存在的数据,需要通过其他表进行获取,或者通过某些计算获取的话,那么就创建需要的数据库数据,例如,需要显示排序的顺序号。
public class ranks
{
public Int id{get; set;}
public Int openid{get; set;}
public Int alldistance{get; set;}
public Int nickname{get; set;}
............
//需要显示什么数据,则创建什么的数据
}
网页前端显示的数据是通过bind控件或者其他服务器控件进行连接的,所以只要控制绑定的数据就可以了。
#region 数据绑定方法
private void RptBind()
{
List<model> mlist=model获取数据库数据且按照alldistance降序排序
List<ranks> resultList=new List<ranks>();
for(int i=0;i<mList.Count;i++)
{
ranks data=new ranks();
data.id=i+1;
data.openid=mlist[i].openid;
data.alldistance=mlist[i].alldistance;
data.nickname=mlist[i].nickname;
resultList.Add(data);//添加到resultList中
}
this.rptList1.DataSource=resultList;
this.rptList1.DataBind();
}
在前端获取数据就只需要通过
<%#Eval("id")%>
数据库:
SqlConnection connection=new SqlConnection("Data Source=.;Initial Catalog=huatong_test;Integrated Security=True");
DataSet ds=new DataSet();
SqlDataAdapter commond=new SqlDataAdapter(string selectCommondText,SqlConnection selectConnection)
//将数据搬运到dataset里面
//COMMAND.FILL(DATASET dataSet,STRING srcTable) srcTable可分类的,合适的,可整理的
command.Fill(ds,"ds");//将数据放入到ds中
DataTable dt=ds.Tables[0];
List<T> list=new List<T>();
if(dt !=null &&dt.Rows.Count>0)
{
foreach(DataRow row in dt.Rows)
{
T obj = (T) Activator.CreateInstance(typeof(T));
PropertyInfo[] pis=obj.GetType().GetProperties();
object propValue=null;
for(int i=0;i<pis.Length;i++)
{
if (!dt.Columns.Contains(pis[i].Name))
{
continue;
}
Object[] attr = pis[i].GetCustomAttributes(false);
if (attr.Length > 0)
{
MyAttribute myattr = pis[i].GetCustomAttributes(false)[0] as MyAttribute;
if (myattr.NoUse == true || myattr.IsList == true)
{
continue;
}
}
propValue = row[pis[i].Name];
if (propValue == null || propValue == DBNull.Value)
{
continue;
}
pis[i].SetValue(obj, propValue, null);
}
list.Add(obj);
}
}
public Int id{get; set;}