马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。那.net的跨平台也当之无愧是一句谎言。鄙人面的例子中完成了3个Join办法,其目标是把两个DataTable毗连起来,相称于Sql的InnerJoin办法,前往DataTable的一切列。
假如两个DataTable中的DataColumn有反复的话,把第二个设置为ColumnName+"_Second",上面是代码,但愿对人人有所匡助。
usingSystem;
usingSystem.Data;
namespaceWindowsApplication1
{
publicclassSQLOps
{
publicSQLOps()
{
}
publicstaticDataTableJoin(DataTableFirst,DataTableSecond,DataColumn[]FJC,DataColumn[]SJC)
{
//创立一个新的DataTable
DataTabletable=newDataTable("Join");
//UseaDataSettoleverageDataRelation
using(DataSetds=newDataSet())
{
//把DataTableCopy到DataSet中
ds.Tables.AddRange(newDataTable[]{First.Copy(),Second.Copy()});
DataColumn[]parentcolumns=newDataColumn[FJC.Length];
for(inti=0;i<parentcolumns.Length;i++)
{
parentcolumns=ds.Tables[0].Columns[FJC.ColumnName];
}
DataColumn[]childcolumns=newDataColumn[SJC.Length];
for(inti=0;i<childcolumns.Length;i++)
{
childcolumns=ds.Tables[1].Columns[SJC.ColumnName];
}
//创立联系关系
DataRelationr=newDataRelation(string.Empty,parentcolumns,childcolumns,false);
ds.Relations.Add(r);
//为联系关系表创立列
for(inti=0;i<First.Columns.Count;i++)
{
table.Columns.Add(First.Columns.ColumnName,First.Columns.DataType);
}
for(inti=0;i<Second.Columns.Count;i++)
{
//看看有无反复的列,假如有在第二个DataTable的Column的列明后加_Second
if(!table.Columns.Contains(Second.Columns.ColumnName))
table.Columns.Add(Second.Columns.ColumnName,Second.Columns.DataType);
else
table.Columns.Add(Second.Columns.ColumnName+"_Second",Second.Columns.DataType);
}
table.BeginLoadData();
foreach(DataRowfirstrowinds.Tables[0].Rows)
{
//失掉行的数据
DataRow[]childrows=firstrow.GetChildRows(r);
if(childrows!=null&&childrows.Length>0)
{
object[]parentarray=firstrow.ItemArray;
foreach(DataRowsecondrowinchildrows)
{
object[]secondarray=secondrow.ItemArray;
object[]joinarray=newobject[parentarray.Length+secondarray.Length];
Array.Copy(parentarray,0,joinarray,0,parentarray.Length);
Array.Copy(secondarray,0,joinarray,parentarray.Length,secondarray.Length);
table.LoadDataRow(joinarray,true);
}
}
}
table.EndLoadData();
}
returntable;
}
publicstaticDataTableJoin(DataTableFirst,DataTableSecond,DataColumnFJC,DataColumnSJC)
{
returnJoin(First,Second,newDataColumn[]{FJC},newDataColumn[]{SJC});
}
publicstaticDataTableJoin(DataTableFirst,DataTableSecond,stringFJC,stringSJC)
{
returnJoin(First,Second,newDataColumn[]{First.Columns[FJC]},newDataColumn[]{First.Columns[SJC]});
}
}
}
学习asp.net两个月有余了,除了对html、web控件比较熟悉(应该是说都能理解和接受)之外,竟不知道自己还会什么。看了两本书:《精通asp.net网络编程》(人民邮电出版社)、《asp.net实用案例教程》(清华大学出版社)。 |