交与提交的问题!!!我都快搞晕了!!!在思考中。。。。

handysoft 2004-10-30 04:42:13
ID 姓名 性别 公司名称
001 XX 男 XXXXXX
002 YW 男 YYYYYYYYYYYY
003 SD 男 ZZZZZZZZZZ
004 YD 女 CCCCCCCC


现在有如上一个表的内容,我想用表单的形式从数据库中取出显示(显示在文本框中),现在如果有修改的地方,我如何在按“提交”时,update数据库里的记录呢!!!
...全文
223 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
steveyue 2004-11-19
我觉得首先得设置一个隐藏的ID作为一行数据的唯一标志,然后可以给每行设置一个修改时间;每次修改的时候比较这个修改时间就可以。就是jsp代码不用重新编译的原理,哪行改过了就重新修改哪行
回复
tiandiqing 2004-11-19
szpqq(Gavin) 的办法不错,

如果让我解决我也用这种做法
回复
heroflying 2004-11-03
同意
好用的说
回复
jinannanhai79 2004-11-01
做一个页面,将单条记录取出来修改,要象你实现的功能要在单条记录后面都加提交按钮,页面不美观
回复
szpqq 2004-11-01
每个列名取一样的名字,如姓名之类的name
然后在保存时得到每个列名的数组,循环改就行
String[] ls_name = request.getParameterValues("name");
for(int i=0;i<ls_name.length;i++){
取你界面上的值
......
name[i]
sex[i]

然后更新每一条,也可以一块更新



}
回复
DarkXie 2004-11-01
B/S模式和C/S模式不同,C/S模式下可以保持和数据库的实时连接,
B/S只能返回结果集显示到页面上显示,要同时更新多条记录可以这样作
前提条件:主键不能变,或者你保存原来的主键
SUBMIT后接收你修改过后的数据的数组,生成一个SQL语句数组
theStatement = conn.createStatement();
for (int i = 0; i < strSQL.length; i++) {
theStatement.addBatch(strSQL[i]);
}
theStatement.executeBatch();
这样就可以执行一组SQL语句了。
回复
86867651 2004-11-01
同意楼上的说法,我也是这么做地.!
回复
一点晴 2004-11-01


要那么多提交按钮干什么,一个就够了。另,复选框这么好的东西正好
解决,怎么不用呢?就象一次删除多条垃圾邮件一样,原理是一样的。

代码也简单的很,楼主自己来把。
回复
handysoft 2004-11-01
to: jinannanhai79(帅气男孩)
谢谢你给我的启发,可是,你还有什么好一点的方法吗,我也不想在每行后面有个提交,只想一次全部提交.
大家,还有什么好方法吗???
回复
dropship 2004-10-30
你这种情况,只能是一条记录一个sql语句
如果修改则执行,否则执行下一条
一般情况下,数据库的更新操作没有你这么频繁吧,并且还是一次更新这么多数据
回复
handysoft 2004-10-30
可是,能告诉我,我现在是001,002,003,004,都在上面,而且我现在不只一条的修改!!!
我如何就指定呢???
回复
bp69 2004-10-30
将修改的数据从表单中读出,然后update 数据库就可以了
比如:
ID 姓名 性别 公司名称
001 a 女 XXXXXX
按照ID修改:sql="update 表名 set name='' ,sex='',gsname=''where ID='001' ";
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告