违反外键约束的问题 加个判断不就行了么?if i=0 str=null; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上说的好象不行啊,以下是;判断过后的代码,但是明显是不行的,因为数据库里的int型是不能用下面的setString方法的啊,而如果用setint,但参数又不能为null,不知道该怎么办 public boolean addInt(CustomerView view) throws SQLException { DbCon dbCon = new DbCon(); Connection conn = dbCon.getConnection("nscm"); String sql = "insert into tRTCustomer (names,sex,vip,distype,certificate,certicode,province," +"city,work,elevel,birthday,scope,mobile,hphone,ophone,address,postcode,email,notes,"+ "creator,cDate,Mender,MDate,status,isVip,org,bdate,edate) values (?,?,?,?,?,?,?,?,?,?,CAST( ? AS datetime ),?,?,?,?,?,?,?,?,?,"+ "CAST( ? AS datetime ),?,CAST( ? AS datetime ),?,?,?,CAST( ? AS datetime ),CAST( ? AS datetime ))"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, view.getNames()); ps.setInt(2, view.getSex()); ps.setString(3, view.getVip()); ps.setInt(4, view.getDisType()); ps.setInt(5, view.getCertificate()); ps.setString(6, view.getCertiCode()); if(view.getProvince()==0){ ps.setString(7, null); }else{ ps.setInt(7, view.getProvince()); } if(view.getCity()==0){ ps.setString(8,null); }else{ ps.setInt(8,view.getCity()); } if(view.getWork()==0){ ps.setString(9,null); }else{ ps.setInt(9,view.getWork()); } if(view.getELevel()==0){ ps.setString(10,null); }else{ ps.setInt(10,view.getELevel()); } ps.setString(11, view.getBirthday()); if(view.getScope()==0){ ps.setString(11,null); }else{ ps.setInt(12, view.getScope()); } ps.setString(13, view.getMobile()); ps.setString(14, view.getHPhone()); ps.setString(15, view.getOPhone()); ps.setString(16, view.getAddress()); ps.setString(17, view.getPostCode()); ps.setString(18, view.getEMail()); ps.setString(19, view.getNotes()); ps.setInt(20,view.getCreator()); ps.setString(21,view.getCDate()); ps.setInt(22, view.getMender()); ps.setString(23,view.getMDate()); ps.setInt(24,view.getStatus()); ps.setInt(25,view.getIsVip()); ps.setInt(26,view.getOrg()); ps.setString(27,view.getBDate()); ps.setString(28,view.getEDate()); try { ps.executeUpdate(); } catch(SQLException ex) { ex.printStackTrace(); boolean flag = false; return flag; } finally { if(ps != null) try { ps.close(); } catch(Exception exception1) { } if(conn != null) try { conn.close(); } catch(Exception exception2) { } } return true;} 尽量不要用外键或者,和cherish0302(低和) 说的一样,加个判断就可以了 准备两个或者多个sql语句,先判断是否是0,然后在用是否需要插入该值的sql语句比如if(view.getProvince()==0){ //没有该字段的插入语句} 楼上的,一定要这么麻烦吗?这样写sql语句会累死的拉 小弟想了解下URL美化重写的问题 相对路径问题 jsp 可否直接多线程 null与""能比较吗。。。 有点乱了 哈哈 怎么给APPLET传递参数. 以后的如何走 求解:如何在IE打开的页面上屏蔽鼠标右键的查看原代码功能? 关于jsp中支持中文的问题 tomcat4.0.3中的自定义标签问题 新人求助按月查询条数sql语句怎么写 关于ORACLE 连接数据库的问题???第一次出现这样的错误????? 取不到提交后的表单数据,请帮忙看一下.谢谢!
public boolean addInt(CustomerView view)
throws SQLException
{
DbCon dbCon = new DbCon();
Connection conn = dbCon.getConnection("nscm");
String sql = "insert into tRTCustomer (names,sex,vip,distype,certificate,certicode,province,"
+"city,work,elevel,birthday,scope,mobile,hphone,ophone,address,postcode,email,notes,"+
"creator,cDate,Mender,MDate,status,isVip,org,bdate,edate) values (?,?,?,?,?,?,?,?,?,?,CAST( ? AS datetime ),?,?,?,?,?,?,?,?,?,"+
"CAST( ? AS datetime ),?,CAST( ? AS datetime ),?,?,?,CAST( ? AS datetime ),CAST( ? AS datetime ))";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, view.getNames());
ps.setInt(2, view.getSex());
ps.setString(3, view.getVip());
ps.setInt(4, view.getDisType());
ps.setInt(5, view.getCertificate());
ps.setString(6, view.getCertiCode());
if(view.getProvince()==0){
ps.setString(7, null);
}else{
ps.setInt(7, view.getProvince());
} if(view.getCity()==0){
ps.setString(8,null);
}else{
ps.setInt(8,view.getCity());
} if(view.getWork()==0){
ps.setString(9,null);
}else{
ps.setInt(9,view.getWork());
} if(view.getELevel()==0){
ps.setString(10,null);
}else{
ps.setInt(10,view.getELevel());
}
ps.setString(11, view.getBirthday());
if(view.getScope()==0){
ps.setString(11,null);
}else{
ps.setInt(12, view.getScope());
}
ps.setString(13, view.getMobile());
ps.setString(14, view.getHPhone());
ps.setString(15, view.getOPhone());
ps.setString(16, view.getAddress());
ps.setString(17, view.getPostCode());
ps.setString(18, view.getEMail());
ps.setString(19, view.getNotes());
ps.setInt(20,view.getCreator());
ps.setString(21,view.getCDate());
ps.setInt(22, view.getMender());
ps.setString(23,view.getMDate());
ps.setInt(24,view.getStatus());
ps.setInt(25,view.getIsVip());
ps.setInt(26,view.getOrg());
ps.setString(27,view.getBDate());
ps.setString(28,view.getEDate());
try
{
ps.executeUpdate();
}
catch(SQLException ex)
{
ex.printStackTrace();
boolean flag = false;
return flag;
}
finally
{
if(ps != null)
try
{
ps.close();
}
catch(Exception exception1) { }
if(conn != null)
try
{
conn.close();
}
catch(Exception exception2) { }
}
return true;
}
或者,和cherish0302(低和) 说的一样,加个判断就可以了
比如
if(view.getProvince()==0){
//没有该字段的插入语句
}