怎样将一个DataSet里的某个DataTabe导入(insert)到另外的一个DataSet的DataTable中
vards1 DataSet,其中有一个DataTabe1:Fid,int,FCode varchar(30),Fcost Decimal(18,2)
vards2 DataSet,其中有一个DataTabe1:Fid,int,Fcost Decimal(18,2)
现在
1)将vards1里的DataTabe1的数据导入到vards2下的DataTabe1里,
2)insert后,将数据update到数据库里
问题点数:80、回复次数:3Top
1 楼7712190(25458848@163.com)回复于 2006-07-04 11:46:09 得分 40
前些日子写的代码 分享一下吧
public static bool InsertData(DataSet Set,string TableName)
{
DataTable dt = Set.Tables[0];
string CONN_STRING = Utility.GetAppSetting("strConnection");
try
{
SqlConnection sqlConnection=new SqlConnection(CONN_STRING);
SqlDataAdapter sqlAdapter = new SqlDataAdapter("Select * from "+TableName, sqlConnection);
DataSet ds = new DataSet();
sqlAdapter.Fill(ds,"ly");
foreach(DataRow dr in dt.Rows)
{
DataRow datarow = ds.Tables["ly"].NewRow();
object [] obj = dr.ItemArray;
for(int i = 0 ;i < obj.Length; i++)
{
datarow[i] = obj[i];
}
ds.Tables["ly"].Rows.Add(datarow);
}
SqlCommandBuilder builder = new SqlCommandBuilder(sqlAdapter);
sqlAdapter.InsertCommand = builder.GetInsertCommand();
sqlAdapter.Update(ds.Tables["ly"]);
sqlConnection.Close();
return true;
}
catch
{
return false;
}
}Top
2 楼kssys()回复于 2006-07-04 11:52:55 得分 40
1.如果使用的是2005,可以在vards2 增加一列,然后使用vards1.Tables(..).Load方法加入到现有Table
2.遍历使用Rows.Add方法Top
3 楼wwfy(我舞飞扬)回复于 2006-07-04 11:54:20 得分 0
DataSet.Merge();
很多重载的,应该可以实现你的需要。Top




