SqlCommandBuilder MyCB = new SqlCommandBuilder(da);//此句已经生成了insertcommand字符串
....
da.InsertCommand=cmd;
你又给da加一条insertcommand
而且你没有保障你写的sql语句的正确性
update出错不为奇