日期:2014-05-20  浏览次数:20663 次

关于数据库类型和程序类型匹配问题
我在数据库里定义了一个商品表,字段类型有varchar型,有int型,还有float型 ,现在我在程序里的实体类都用的是String型,程序添加和删除都能实现,可是到了修改就实现不了,我想知道是不是类型不匹配的原因啊,请问是不是我在程序里定义的实体类的数据类型必须和数据库里字段类型一致啊 ???如果是那我的添加和删除怎么就能实现啊 ????


------解决方案--------------------
就说是 自己用 JDBC 来写吧,
程序中都用 String 是很好的一种设计方式,是很成功的……
那么 

String sql = "insert into myTable(myInt,myFloat,myString) values(?,?,?)";
PrepareStatement pstm = connection.preparedStatement(sql);

// voBean 代表你的实体 Bean,其中 有 myInt,myFloat,myString 属性,对是你说的 String 类型,并且都有 getter,setter;

pstm.setString(1,voBean.getMyInt());
pstm.setStrint(2,voBean.getMyFloat());
pstm.setString(3,voBean.getMyString());

pstm.executeUpdate();

// 一切 OK


有几点需要注意:
1.你的 JDBC 是自动进行 Commit 的,如果不是,你就要手动 Commit 到数据库
(如果你没有设置 connection.setAutoCommit(false) ,后来就不需要你 connection.commit())
2.你要确定 你的 实体Bean 中有值


------解决方案--------------------
把你所要修改的数据对应相应的列转换就行了,如果得到String,要修改的行是int,那对应转换一下,重新更新
------解决方案--------------------
class shangpin{ 
private int ID; 
private String Name; 
private float Price; 
private String Sell; 
public setID(int ID){ 
this.ID=ID; 

public String getID(){ 
return ID;

..... 


这样再试试
------解决方案--------------------
将你添加和删除的代码贴出来,问题应该不麻烦