作者:name: planred
邮件:planred#163.com
http://api.533.net/ 这个是我新做的一个小站,宗旨为“beginner to beginner”,因为我也是初学者:) 里面的“心得体会” 都是我自己写的。
大家知道,dataset保存的数据是位于服务器内存里面的原数据库的“副本”。所以用dataset更新数据的过程就是先对“副本”进行更新,然后在将“原本”更新,按照我的理解就是把“原本”覆盖掉。具体到过程,首先是要找到需要更新的行,然后赋新值,最后更新原数据库。
要找到需要修改的行,比较方便的做法就是根据记录中的某个值进行查找,这样比用“列号”“行号”什么的方便多了。要做到这一点,首先就是要给数据库指定一个主键,然后即可按照主键进行查找。要注意的是这个主键必须要是在程序中指定的,并且这个主键不一定和你数据库原来有的主键一样。
然后就是最后的更新,当然是用dataadapter的update()方法借助commandbuilder来实现,要注意的是,如果你的数据库一开始没有定义主键,那进行更新的时候会出错,返回的错误将是“对于不返回任何键列信息的 selectcommand 不支持 updatecommand 的动态 sql 生成。”这是因为我们用的update()实际上是通过commandbuilder动态生成sql语句,然后才进行的数据库操作。但如果你在一开始创建dataadapter时的那个sql语句没有包含有主键的列的话,那commandbuilder将不会发生作用。这一点是必须要牢记的。
说了这么多,如果有不明白的就看下面的程序,这个是我练习时写的,里面有一些个人的设定,比如记录名什么的,相信大家一看就明白。
代码拷贝框
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器