string upstr="UPDATE test SET name=@name WHERE name=@name";  ???
这一句有逻辑错误:
当你赋值@name=MyName的时候,SQL语句就等于:
UPDATE test SET name="MyName" WHERE name="MyName"如果你数据库中有一条name="MyName"的记录,那SET name="MyName"之后你也不会看出来改变的痕迹。
如果你数据库中没有这么一条记录,那WHERE子句的查询结果为空,也不会有记录被改变。