try 

string strDSN = "workstation id=LZJ;packet size=4096;user id=sa;data source=\"192.168.0.5\";persist security info=True;initial catalog=jinfa;password=\"lzj.com\"";
string strSQL = "select * from Mytest" ;
            
// 实例化SqlConnection对象
System.Data.SqlClient.SqlConnection myConn =new SqlConnection(strDSN);

// 实例化SqlDataAdapter对象
System.Data.SqlClient.SqlDataAdapter ObjectDa =new SqlDataAdapter(strSQL, myConn ); 
System.Data.SqlClient.SqlDataAdapter ScoreDa =new SqlDataAdapter("select * from Mytest", myConn ); 
SqlCommand myCommand =new SqlCommand(  strSQL, myConn );  
ObjectDa.SelectCommand=myCommand; // 实例化DataSet对象
DataSet ObjectDs = new DataSet(); DataSet ScoreDs=new DataSet(); // 打开数据库
myConn.Open();
            
// 把数据读取到数据集合中
ObjectDa.Fill( ObjectDs,"Mytest" ); //目标数据
ScoreDa.Fill(ScoreDs,"Mytest"); //需要写入的数据 // 从数据集合中读取第一张表的数据
DataTable ObjectDataTable = ObjectDs.Tables[0];//目标表 DataTable ScoreDataTable  = ScoreDs.Tables[0]; //需要写入的表 //一个DataSet 把ScoreDataTable中的记录全部复制到ObjectDataTable中去
DataRow newRow;  
for(int i=0 ;i<ScoreDataTable.Rows.Count;i++)
{
newRow=ObjectDataTable.NewRow();
for(int y=0;y<ScoreDataTable.Columns.Count;y++)
{

//MessageBox.Show("第"+i.ToString()+"行第"+y.ToString()+"的值"+dTable.Rows[i][y].ToString());
newRow[y]=ScoreDataTable.Rows[i][y];
}
ObjectDataTable.Rows.Add(newRow);
ObjectDataTable.AcceptChanges();
}
dataGrid1.SetDataBinding(ObjectDs,"Mytest"); 
//ObjectDs.Merge(ScoreDs); //合并一个DataSet,这种方法也不行,不知道为什么
ObjectDs.AcceptChanges();
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(ObjectDa);     
ObjectDa.Update(ObjectDs,"Mytest"); //最后更新数据库,这里会更新不成功,不知道为什么?
// 关闭数据库连接
myConn.Close();
}

catch (Exception ex) 

MessageBox.Show(ex.Message,"数据库更新失败"); 
return;

为什么总是会更新不成功呢?