我做了个如下的测试:
DataSet ds = new DataSet();
myAdp.Fill(ds,"myTab");
DataTable tab = new DataTable();
tab = ds.Tables["myTab"].Clone();
DataRow newRow = tab.NewRow();
try
{
foreach(DataRow myR in ds.Tables["myTab"].Rows)
{
newRow = myR;
*** tab.Rows.Add(newRow); ***
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
报错:此列在别的表里面存在!
但是,我去掉 tab.Rows.Add(newRow); 这一行之后,执行很正确。
请各位高手指点迷津,小弟在此谢过了!!!
DataSet ds = new DataSet();
myAdp.Fill(ds,"myTab");
DataTable tab = new DataTable();
tab = ds.Tables["myTab"].Clone();
DataRow newRow = tab.NewRow();
try
{
foreach(DataRow myR in ds.Tables["myTab"].Rows)
{
newRow = myR;
*** tab.Rows.Add(newRow); ***
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
报错:此列在别的表里面存在!
但是,我去掉 tab.Rows.Add(newRow); 这一行之后,执行很正确。
请各位高手指点迷津,小弟在此谢过了!!!
{
tab.ImportRow(myR);
}
tab = ds.Tables["myTab"].Clone();是得到一个表的结构,包括所有的列名,但没有值,我这样理解,不知正确否。
newRow.ItemArray = myR.ItemArray;