日期:2014-05-19  浏览次数:20985 次

[简单]怎样读出这个DataTable?
我的内存里有这样一个DataTable(是xml文件读入的):
Name       ID
5000       1
2000       2
100         1
200         1
100         2
233         3
44           4

说明:另一个DataTable的一条记录对应这个DataTable的多条记录,也就是ID字段从1到大于1的这些记录都对应着另一个DataTable的一条记录

我想做的是如何把另一个DataTable的ID跟这个DataTable的对应记录一起存到数据库中

我写了个循环,总是写不好,大家帮忙改改:

                        for   (int   m   =   0;   m   <   xmlDataSet.Tables[5].Rows.Count;   m++)
                        {
                                        for   (int   n   =   0;   n   <   xmlDataSet.Tables[5].Columns.Count;   n++)
                                        {
                                                tempArray[n]   =   xmlDataSet.Tables[5].Rows[m][n].ToString();
                                        }
                                        string   DetailSQL   =   " ";
                                        DetailSQL   =   "insert   into "//省略了
                                        DetailCm   =   new   SqlCommand(DetailSQL,   conn);
                                        DetailCm.ExecuteNonQuery();
                        }

------解决方案--------------------
不太清楚lz的意思..你是否是要筛选?
比如第二个循环里, 用那个datatable的select筛选等于第一个循环里的对应字段的记录..然后插入一个数据库表格里?
------解决方案--------------------
id不是唯一值,这样对应会有重复数据
------解决方案--------------------
用DataTable的Select功能:
假设数据少的是dataTable1,数据多的是dataTable2
for(int i=0; i <dataTable1.rows.count; i++)
{
DataRow[] drArr = dataTable2.Select( "ID= " + dataTable1.rows[i][ "id "].Tostring());
for(int j=0; j <drArr.length; j++)
{
string InsertStr = "Insert into.............. ";
//dataTable1中的内容:dataTable1.rows[i][ "字段名 "]
//dataTable2中的内容:drArr[j][ "字段名 "]
}
}