using system;using system.collections;
using system.data;
/// /// 將主從表進行左連線操作
///
/// 主表
/// 從表
/// 關聯字段
/// 子表要合併的字段
/// 合併後的表
public datatable leftjointabel(datatable maintable, datatable subtable, string keyfields, string megerfields)
foreach (string keyfield in keyfields)
if (!maintable.columns.contains(keyfield))
if (!subtable.columns.contains(keyfield))
}foreach (string megerfield in megerfields)
if (!subtable.columns.contains(megerfield))
}if (maintable.rows.count * subtable.rows.count < 5000)
else
else}}
/// /// 巢狀迴圈方式。當主從表都足夠小,迴圈總次數不超過5000時,可免去建立雜湊表的開銷。
///
public datatable nestjoin(datatable maintable, datatable subtable, string keyfields, string megerfields)
maintable.columns.add(newcolumn);
}//合併表
bool same;
foreach (datarow mainrow in maintable.rows)
}//若一致才合併
if (same)}}
}return maintable;
}/// /// 雜湊查詢方式。當從表比較小,列數少於5且記錄數少於1萬時,可直接把所有行存入雜湊表,就無需再查詢從表。
///
public datatable hashjoin(datatable maintable, datatable subtable, string keyfields, string megerfields)
value = new string[megerfields.length];
for (int i = 0; i < megerfields.length; i++)
//雜湊表儲存主鍵和實際行內容
hashtable.add(key, value);
}//新增主表列
datacolumn newcolumn;
foreach (string colname in megerfields)
maintable.columns.add(newcolumn);
}//合併表
foreach (datarow row in maintable.rows)
if (hashtable.containskey(key))}}
return maintable;
}/// /// 雜湊索引方式。當從表比較大時,只在雜湊表儲存索引,找根據索引到從表查詢記錄,可避免建立過大的雜湊表。
///
public datatable indexjoin(datatable maintable, datatable subtable, string keyfields, string megerfields)
//雜湊表儲存主鍵和行索引
hashtable.add(key, rowindex);
rowindex++;
}//新增主表列
datacolumn newcolumn;
foreach (string colname in megerfields)
maintable.columns.add(newcolumn);
}//合併表
foreach (datarow row in maintable.rows)
if (hashtable.containskey(key))}}
return maintable;}}
}
連線兩個DataTable表
在c 中把兩個datatable連線起來,相當於sql的inner join方法 public static datatable join datatable first,datatable second,datacolumn fjc,datacolumn sjc datacolumn parent...
C 鍊錶 實操
一 鍊錶的基礎操作 1.定義乙個鍊錶 struct listnode 2.建立乙個基礎鍊錶 長度為n listnode create normal list int n end next null 尾節點最後指向乙個新的空位址 head last null 頭節點的前一位不存在 return hea...
Ue4 C 載入DataTable資料表
實現資料驅動遊戲性元素 ue4中使用資料表 data table ue4使用c 載入datatable資料表 ue4 根據配置讀取datatable配表 ue4 根據配置讀取datatable配表 開始時先建立乙個自定義格式的資料表,位置隨意都可,我是建立了乙個新類來進行管理。編譯後就可進行建立表了...