public string mt(DataSet ds)
{
SqlDataAdapter adp = new SqlDataAdapter("select * from 表1", conn);
sqlCommandBuilder scb = new SqlCommandBuilder(adp);
conn.Open();
DataSet ds1 = new DataSet();
try
{
adp.Fill(ds1);
ds1.Tables[0].Merge(ds.Tables[0],true);//合并表, 结构完全一样
adp.Update(ds1.Tables[0]);
……
}
//数据库没有更新 ???
{
SqlDataAdapter adp = new SqlDataAdapter("select * from 表1", conn);
sqlCommandBuilder scb = new SqlCommandBuilder(adp);
conn.Open();
DataSet ds1 = new DataSet();
try
{
adp.Fill(ds1);
ds1.Tables[0].Merge(ds.Tables[0],true);//合并表, 结构完全一样
adp.Update(ds1.Tables[0]);
……
}
//数据库没有更新 ???
adp.Fill(ds1);
ds1.Tables[0].Merge(ds.Tables[0],true);//合并表, 结构完全一样
-------------------
//是查看 合并后的表的行状态么 ?
//如果 行状态 没有变成 Added 怎么办 ???如何操作
---------------- adp.Update(ds1.Tables[0]); ……
adp.Fill(ds1);
ds1.Tables[0].Merge(ds.Tables[0],true);//合并表, 结构完全一样
---------------------------
sqlCommandBuilder scb = new SqlCommandBuilder(adp); SELECTEDCOMMAND定义了也不行如果用SQLCOMMANDBUILDER,你必须先定义一个SELECTEDCOMMAND,然后再定义SQLCOMMANDBUILDER,没有SELECTEDCOMMAND,适配器将不知道数据结构,不知该将数据更新到哪个表.
行状态 unchanged
//没有变 ,怎么办 ???
发表于:2008-03-18 11:47:451楼 得分:0
看看行状态变了没?