把xml文件中的2个表(其实是主从表)导入数据库,但是主表导入后主键id已经变了,所以从表中的外键也需要根据主表导入数据库后的主键进行变化.我使用如下方法,可是从表中的外键并没有变化还是以前在xml中的值,不知道dataset建立主从关系后能不能自动的变化从表中外键的值.
下面是我写的程序
string conn=LegalManager.Sql.GetConString();//获取数据连接
SqlConnection myConn = new SqlConnection(conn);
myConn.Open();
DataSet ds=new  DataSet();  
ds.ReadXml("E:\\aa\\Lawsuit_Invest.xml",XmlReadMode.Auto);
ds.ReadXml("E:\\aa\\Lawsuit_Invest_Type.xml",XmlReadMode.Auto);
ds.Relations.Add("abc",ds.Tables[0].Columns[0],ds.Tables[1].Columns[1]); 
SqlDataAdapter sda = new SqlDataAdapter(); 
SqlCommandBuilder custCB = new SqlCommandBuilder(sda);
sda.SelectCommand = new SqlCommand("select * from Lawsuit_Invest", myConn);
sda.Update(ds.Tables[0]); 
SqlCommand  insert_r2=new  SqlCommand("Insert  into  Lawsuit_Invest_Type(InvestId)  values  (@InvestId)",myConn);  
insert_r2.Parameters.Add(new  SqlParameter("@InvestId",SqlDbType.Int,4,"InvestId"));  
sda.InsertCommand=insert_r2;
if(ds.HasChanges())
{
sda.Update(ds.Tables[1]);
}
没分了,请高手指导