亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#中連接兩個DataTable,相當于Sql的InnerJoin

2024-09-07 17:05:36
字體:
來源:轉載
供稿:網友

推薦:DataGrid的多行提交
盡管ASP.NET DataGrid是眾所周知非常好的表格控件,不過,提起DataGrid的編輯功能,我們卻不敢恭維了,就拿DataGrid的數據提交功能來說,的確存在很大的問題:在DataGrid中,每編輯一行就要

在下面的例子中實現了3個Join方法,其目的是把兩個DataTable連接起來,相當于Sql的Inner Join方法,返回DataTable的所有列。
如果兩個DataTable中的DataColumn有重復的話,把第二個設置為ColumnName "_Second",下面是代碼,希望對大家有所幫助。
using System;
using System.Data;

namespace WindowsApplication1
{
public class SQLOps
{
public SQLOps()
{
}
public static DataTable Join (DataTable First, DataTable Second, DataColumn[] FJC, DataColumn[] SJC)
{
//創建一個新的DataTable
DataTable table = new DataTable("Join");
// Use a DataSet to leverage DataRelation
using(DataSet ds = new DataSet())
{
//把DataTable Copy到DataSet中

ds.Tables.AddRange(new DataTable[]{First.Copy(),Second.Copy()});

DataColumn[] parentcolumns = new DataColumn[FJC.Length];

for(int i = 0; i < parentcolumns.Length; i )
{
parentcolumns[i] = ds.Tables[0].Columns[FJC[i].ColumnName];
}
DataColumn[] childcolumns = new DataColumn[SJC.Length];
for(int i = 0; i < childcolumns.Length; i )
{
childcolumns[i] = ds.Tables[1].Columns[SJC[i].ColumnName];
}

//創建關聯
DataRelation r = new DataRelation(string.Empty,parentcolumns,childcolumns,false);
ds.Relations.Add(r);

//為關聯表創建列
for(int i = 0; i < First.Columns.Count; i )
{
table.Columns.Add(First.Columns[i].ColumnName, First.Columns[i].DataType);
}
for(int i = 0; i < Second.Columns.Count; i )
{
//看看有沒有重復的列,如果有在第二個DataTable的Column的列明后加_Second
if(!table.Columns.Contains(Second.Columns[i].ColumnName))
table.Columns.Add(Second.Columns[i].ColumnName, Second.Columns[i].DataType);
else
table.Columns.Add(Second.Columns[i].ColumnName "_Second", Second.Columns[i].DataType);
}
table.BeginLoadData();
foreach(DataRow firstrow in ds.Tables[0].Rows)
{
//得到行的數據
DataRow[] childrows = firstrow.GetChildRows(r);
if(childrows != null && childrows.Length > 0)
{
object[] parentarray = firstrow.ItemArray;
foreach(DataRow secondrow in childrows)
{
object[] secondarray = secondrow.ItemArray;
object[] joinarray = new object[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();
}
return table;
}
public static DataTable Join (DataTable First, DataTable Second, DataColumn FJC, DataColumn SJC)
{
return Join(First, Second, new DataColumn[]{FJC}, new DataColumn[]{SJC});
}
public static DataTable Join (DataTable First, DataTable Second, string FJC, string SJC)
{
return Join(First, Second, new DataColumn[]{First.Columns[FJC]}, new DataColumn[]{First.Columns[SJC]});
}
}
}

分享:DataGrid表頭不動,表身動
上次和海東兄討論了這個問題,但是他的表頭沒有線,所以用Div形式實現了,實現功能顯示表格,代碼如下(后臺.cs文件只要綁定數據就可以了,字段和前臺綁定的一致就OK了,在此不加贅述):<

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一精品久久忘忧草社区| 日本亚洲欧洲色α| 国产精品久久久久久久av电影| 国产视频自拍一区| 中文国产亚洲喷潮| 美日韩丰满少妇在线观看| 黑人巨大精品欧美一区二区三区| 亚洲系列中文字幕| 久久成人18免费网站| 91国产精品电影| 国产成人短视频| 日韩电影大片中文字幕| 精品小视频在线| 91亚洲永久免费精品| 亚洲美女自拍视频| 欧美一区二区三区艳史| 亚洲精品一区二区久| 538国产精品一区二区在线| 久久精品国产欧美亚洲人人爽| 日韩电影在线观看永久视频免费网站| 国产精品中文字幕在线观看| 久久中文精品视频| 欧美激情精品久久久久久大尺度| 成人国产精品日本在线| 国产欧美精品在线播放| 精品日本美女福利在线观看| 亚洲aaaaaa| 丁香五六月婷婷久久激情| 亚洲成人激情小说| 欧美成aaa人片免费看| 97国产在线观看| 神马久久久久久| 91久久精品视频| 成人av在线亚洲| 久久国产精品久久久久久久久久| 亚洲欧美日韩一区在线| 日本欧美国产在线| 中文字幕视频在线免费欧美日韩综合在线看| 日韩av大片免费看| 国产精品欧美日韩| 中国china体内裑精亚洲片| 亚洲男女性事视频| 91成人天堂久久成人| 日韩欧美999| 超在线视频97| 26uuu久久噜噜噜噜| 国产精品99久久久久久白浆小说| 欧美激情18p| 欧美视频在线观看免费| 欧美日韩美女视频| 亚洲性av在线| 91天堂在线视频| 精品久久久久久久久久| 欧美成人午夜激情| 久久综合电影一区| 亚洲影视中文字幕| 亚洲精品免费在线视频| 超碰精品一区二区三区乱码| 欧美亚洲在线观看| 久久精品久久久久久国产 免费| 欧美精品日韩三级| 日韩精品中文字幕在线观看| 久久国产精品久久精品| 欧美精品午夜视频| 精品亚洲一区二区三区在线观看| 国产日本欧美视频| 欧美日韩在线视频一区| 国产欧美日韩免费看aⅴ视频| 国产精品久久久久久久久粉嫩av| 在线观看国产精品淫| 日韩精品一二三四区| 国产成人avxxxxx在线看| 亚洲影院在线看| 国产亚洲欧洲黄色| 国产97在线|日韩| 亚洲国产99精品国自产| 亚洲精品成人久久| 欧美精品久久一区二区| 亚洲色图校园春色| 亚洲 日韩 国产第一| 欧美日韩国产麻豆| 久久久久久久久久久久久久久久久久av| 亚洲精品视频网上网址在线观看| 亚洲色图35p| 国产精品69精品一区二区三区| 久久中国妇女中文字幕| 这里只有精品在线播放| 欧美性猛交xxxx乱大交蜜桃| 欧洲美女7788成人免费视频| 欧美在线亚洲一区| 亚洲一区av在线播放| 欧美福利视频在线观看| 日韩在线小视频| 成人福利在线观看| 国产精品18久久久久久首页狼| 成人免费高清完整版在线观看| 国产精品亚洲网站| 日韩高清欧美高清| 欧美在线一级va免费观看| 国产精品视频中文字幕91| 在线日韩欧美视频| 国产亚洲欧美日韩精品| 久久久久亚洲精品成人网小说| 亚洲国产中文字幕在线观看| 午夜美女久久久久爽久久| 国产xxx69麻豆国语对白| 欧美激情第1页| 国产精品视频久久久久| 亚洲国产美女精品久久久久∴| 成人欧美一区二区三区在线湿哒哒| 久久精品美女视频网站| 91中文在线观看| 国产精品一区二区三区久久久| 91av免费观看91av精品在线| 中文字幕av一区| 亚洲嫩模很污视频| 国语自产精品视频在线看抢先版图片| 日韩av影视综合网| 黑人巨大精品欧美一区二区一视频| 日韩电影网在线| 欧美亚洲一区在线| 亚洲欧美中文字幕在线一区| 国产精品一香蕉国产线看观看| 国产一区二区三区视频在线观看| 中文字幕欧美日韩va免费视频| 欧美精品在线视频观看| 欧美电影免费播放| 伊人成人开心激情综合网| 青草青草久热精品视频在线观看| 欧美激情中文网| 久久久精品日本| 久久久精品国产| 北条麻妃久久精品| 国产成人精品日本亚洲专区61| 欧美性猛交丰臀xxxxx网站| 中文字幕精品www乱入免费视频| 日本高清视频精品| 69av视频在线播放| 亚洲免费电影在线观看| 精品视频偷偷看在线观看| 成人精品一区二区三区电影免费| 日韩电视剧在线观看免费网站| 一区二区欧美日韩视频| 成人午夜黄色影院| 日韩在线视频免费观看| 亚洲丁香婷深爱综合| 久久手机精品视频| 亚洲福利视频久久| 欧美在线国产精品| 欧美大片网站在线观看| 久久综合久久美利坚合众国| 亚洲男子天堂网| 久久婷婷国产麻豆91天堂| 久久手机精品视频| 亚洲最大的网站| 国产精品久久不能| 在线观看国产精品日韩av| 欧美精品制服第一页| 亚洲视频在线播放| 91精品视频观看| 久久久成人精品视频| 美女精品视频一区| 亚洲xxxx做受欧美| 中文字幕在线亚洲|