[急]对面向对象概念理解不透,帮我看看这个问题呀(操作数据库的javabean)

qabp 2004-05-03 10:37:52
看下面这段代码
public void update(Duty duty){
try{
String sql="update Duty set DutyNo=?";
String[] params=new String[1];
params[0]=duty.getDutyNo();
DBBean db=new DBBean();
db.setQuerystatement(sql);
db.setParam(params);
db.executeUpdate();
}catch(Exception e){}
}
where子句怎么办?
update的参数是不是这样用的啊?
一个参数够了吗?
谢谢!!!
...全文
15 11 点赞 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qabp 2004-05-04
一个参数,这个参数就是Guestbook对象info.
整个sql语句由info的各成员变量值等组成
每个成员变量对应一个table的字段
怎么可以存两个值(update前和后的)呢?
我怎么指定update哪个呢?
info只是封装了修改后的字段值呀(set语句中每个=后面的值)
如果table所有的字段都改变了
那么info的id是新id了
就是where子句id=后面的值从哪取呢
是不是我这样写update函数就是错的呢???

从数据库设计的角度出发,主键是不常改变的
是不是意味着,update这个函数是不会改变记录的主键的呢?
这样的话,函数传一个对象确实是足够了。
假设这种情况,员工信息表有个员工编号字段,这个编号在使用MIS系统前就设定好了,每个职工都对应一个。输入员工信息的时候可能编号输入错误,那么就要修改。
是不是说员工编号不适合做主键了?
一般主键都是自增字段,没有实际意义的?

也许这个问题最终还是数据库设计的问题

谢谢大家!!!
  • 打赏
  • 举报
回复
qabp 2004-05-03
http://expert.csdn.net/Expert/topic/3014/3014748.xml?temp=.7564813
是看大虾 zkjbeyond(jigi) 给的例子没看懂
不大明白为什么update只传一个参数就够了
不知道是不是理解错了整个框架
  • 打赏
  • 举报
回复
qabp 2004-05-03
谢谢哦!!!
  • 打赏
  • 举报
回复
qabp 2004-05-03
DBBean也是自己写的
我写的update是叫DutyMap的java bean中的一个函数
我定义了Duty类(一个bean),对应表 Duty,DutyMap是操作这个表的一个bean,DBBean是一个数据库连接的通用bean(有几个通用函数),在DutyMap的具体函数中,传不同的sql语句和参数来执行查询等操作。
  • 打赏
  • 举报
回复
sean_gao 2004-05-03
呵呵。学习学习。SQL我真的不熟。
  • 打赏
  • 举报
回复
qabp 2004-05-03
Duty 是我自己定义的一个类,和一个table对应(还有其他成员变量的,这里只列出DepNo一个来)
  • 打赏
  • 举报
回复
sean_gao 2004-05-03
最好自己再看看bean的源码。
  • 打赏
  • 举报
回复
shines77 2004-05-03
update的用法是正确的,where用法如下:

sql="update Duty set DutyNo=11, filed1=22, filed2=11 where id=100";
  • 打赏
  • 举报
回复
sean_gao 2004-05-03
......
从代码看,这个字符串并非最终的SQL语句,真正的SQL查询语句应该是封装在bean中了。
  • 打赏
  • 举报
回复
qabp 2004-05-03

  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
加入

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-05-03 10:37
社区公告
暂无公告