今天在做一个asp.net 页面时遇到一个将dataset更新回数据库的问题。在网上找了好多文章,都没有涉及到这种做法。程序的大概思路是这样:
在一个页面中有一个GridView控件,GridView控件中的DataSet是页面第一次加载时通过Page_Load方法中的SqlDataAdapter局部变量从后台数据库中取值填充的,之后这个DataSet就被放到Session["myDS"]中。在对GridView控件编辑更新之后,Session["myDS"]也随之更新.
现在我要对GridView的更新全部返回到数据库中去,于是在页面上的某个Button按钮的事件中又实例化一个SqlDataAdapter。现在的问题是这个Button按钮中的SqlDataAdapter如何做才能将GridView的DataSet(也就是Seesion["myDS"])更新回数据库中去?我试了半天都没有更新成功.请遇到过相同问题或知道如何能解决的朋友给些指点。谢谢!
你说的问题我大致理解成这样:在session范围内有一个已经被填充过值的DataSet,然后这个DataSet作为了GridView的数据源,然后你更新了GridView的数据之后session中的DataSet数据也更新了。如果是这样的话,那只需要将DataSet从session范围中取出来然后用SqlDataAdapter的Update方法更新不就OK了?
我就是用你说的方式更新,但就是无法完成update,用sql server Profiler 跟踪,也没有update的语句产生.
因为用来取数据的SqlDataAdapter对象和用来更新的SqlDataAdapter对象不是同一个对象,所以我不知道问题出在哪里?
我以前更新的都是单条跟新的,这样简单点,根本不用存session 直接按索引跟新就是