【发布时间】:2013-12-24 08:23:27
【问题描述】:
我正在寻找一种在 C# 的 foreach 循环中将一个数据集添加到另一个数据集的方法。
public DataTable getFiles(List<string> userIDs)
{
DataSet ds = new DataSet();
DataTable dtFileContents = new DataTable();
string spUpdate = "usp_Update";
string spSelect = "usp_Select";
try
{
foreach (string item in userIDs)
{
ds = OracleConnectionHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString, spSelect.ToUpper(), userIDs);
OracleConnectionHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString, spUpdate.ToUpper(), userIDs);
}
dtFileContents = ds.Tables[0];
}
catch (Exception ex)
{
throw ex;
}
return dtFileContents;
}
所以,我需要的只是一种不覆盖先前数据集的方法。 ds += ...之类的东西,但我在任何地方都找不到。
我想过合并数据集,但不知道需要多少数据集。
我怎样才能做到这一点?
【问题讨论】:
-
目前尚不清楚您实际想要达到的目标。 "overwrite the previous dataset. Like ds += ..." 是什么意思?你试过
DataTable.Merge或DataSet.Merge吗? -
@TimSchmelter 你说得对。我试图在更新之前先选择我的数据库中的记录,然后根据 userIds 更新我的数据库。每个用户 ID 都将拉回任意数量文件的属性。所以,我希望这些属性在数据表中。下次循环执行新的数据表时,将返回相同的列。我想将该数据表附加到网格视图的旧数据表的末尾。合并工作完美。我之前尝试的时候一定是做错了什么。谢谢您的帮助。如果您发布此内容,我将标记为答案。
标签: c# asp.net recursion datatable dataset