我有一个类。有两个属性
一个是时间 一个是文本
我现在读取数据库中的3个表把每个表的 时间字段 和文本字段 分别放到类中,
把类添加到Aarraylist 里,
最后我想在Aarraylist里按时间排序把字符串个打印出来,该怎么做呢array= new ArrayList();
Storage_mainEntity stor = Storage_mainEntity.GetUserByName(this.TextBox1.Text);//入库时间
if(stor!=null)
{
#region 入库
con = new SqlConnection(Invoicing.DataAccess.DbConstants.ConnectionString);
con.Open();
string strrk = "select * from storage_main where Storage_serialno = '"+this.TextBox1.Text+"' ORDER BY Storage_DateTime ";
SqlDataReader read = null;
SqlCommand cmd = new SqlCommand(strrk,con);
read = cmd.ExecuteReader();
while(read.Read())
{
Archives arch = new Archives();//类
str += "产品名称:" + read.GetValue(1).ToString();
str += "<br>";
str += "入库时间:" + read.GetValue(3).ToString();
str += "<br>";
arch.datetimes = read.GetValue(3).ToString();
str += "部门:" + read.GetValue(4).ToString();
str += "<br>";
arch.content = str;
array.Add(arch);
}
con.Close();
#endregion
#region 出库
string noticeserialno = "";
con = new SqlConnection(Invoicing.DataAccess.DbConstants.ConnectionString);
con.Open();
string strck = "select * from chuku where serialno = '"+this.TextBox1.Text+"' ORDER BY DateTime ";
SqlDataReader read_ck = null;
SqlCommand cmd_ck = new SqlCommand(strck,con);
read_ck = cmd_ck.ExecuteReader();
while(read_ck.Read())
{
Archives arch1 = new Archives();
str += "出库时间:" + read_ck.GetValue(13).ToString();
str +="<br>";
arch1.datetimes = read_ck.GetValue(13).ToString();
noticeserialno = read_ck.GetValue(5).ToString();
NoticeEntity entity = NoticeEntity.GetBySer(read_ck.GetValue(13).ToString());
if(entity!=null)
{
str +="项目:" + entity.Subject;
str +="<br>";
}
arch1.content = str;
array.Add(arch1);
}
con.Close();
#endregion
一个是时间 一个是文本
我现在读取数据库中的3个表把每个表的 时间字段 和文本字段 分别放到类中,
把类添加到Aarraylist 里,
最后我想在Aarraylist里按时间排序把字符串个打印出来,该怎么做呢array= new ArrayList();
Storage_mainEntity stor = Storage_mainEntity.GetUserByName(this.TextBox1.Text);//入库时间
if(stor!=null)
{
#region 入库
con = new SqlConnection(Invoicing.DataAccess.DbConstants.ConnectionString);
con.Open();
string strrk = "select * from storage_main where Storage_serialno = '"+this.TextBox1.Text+"' ORDER BY Storage_DateTime ";
SqlDataReader read = null;
SqlCommand cmd = new SqlCommand(strrk,con);
read = cmd.ExecuteReader();
while(read.Read())
{
Archives arch = new Archives();//类
str += "产品名称:" + read.GetValue(1).ToString();
str += "<br>";
str += "入库时间:" + read.GetValue(3).ToString();
str += "<br>";
arch.datetimes = read.GetValue(3).ToString();
str += "部门:" + read.GetValue(4).ToString();
str += "<br>";
arch.content = str;
array.Add(arch);
}
con.Close();
#endregion
#region 出库
string noticeserialno = "";
con = new SqlConnection(Invoicing.DataAccess.DbConstants.ConnectionString);
con.Open();
string strck = "select * from chuku where serialno = '"+this.TextBox1.Text+"' ORDER BY DateTime ";
SqlDataReader read_ck = null;
SqlCommand cmd_ck = new SqlCommand(strck,con);
read_ck = cmd_ck.ExecuteReader();
while(read_ck.Read())
{
Archives arch1 = new Archives();
str += "出库时间:" + read_ck.GetValue(13).ToString();
str +="<br>";
arch1.datetimes = read_ck.GetValue(13).ToString();
noticeserialno = read_ck.GetValue(5).ToString();
NoticeEntity entity = NoticeEntity.GetBySer(read_ck.GetValue(13).ToString());
if(entity!=null)
{
str +="项目:" + entity.Subject;
str +="<br>";
}
arch1.content = str;
array.Add(arch1);
}
con.Close();
#endregion
http://msdn.microsoft.com/zh-cn/library/0e743hdt(VS.80).aspx
{
Archives arr=(Archives)array[i];
string ii1 = arr.datetimes;
string ii = arr.content;
Response.Write(ii1.ToString());
Response.Write(ii.ToString()); }我这样可以打出所有项,但怎么根据datetimes 排序,来输出 content呢
如果点不出来sort,
就添加using System.Linq;的引用。
比如:
select * from
(select datetime1 as datetime,text1 as context from tb1
union
select datetime2 as datetime,text2 as context from tb2
union
select datetime3 as datetime,text3 as context from tb3) tt
order by tt.datetime