package appsm.util;import java.sql.ResultSet;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;import javax.swing.JOptionPane;
import appsm.model.*;
public class JdbcAdapter {
private static String infoStr = null;
private boolean validateID(String id,String tname,String idvalue){
String sqlStr=null;
sqlStr="select count(*) from "+tname+" where "+id+"='"+idvalue+"'";
try{
Connection con=CommonaJdbc.connection;
PreparedStatement pstmt=con.prepareStatement(sqlStr);
ResultSet rs=null;
rs=pstmt.executeQuery();
if(rs.next()){
if(rs.getInt(1)>0) return true;
}
}catch(java.sql.SQLException sql){
sql.printStackTrace();
return false;
}
return false;
}
/******************************以上是验证用户是否存在************************************/
private boolean AdapterObject(String sqlState){
boolean flag=false;
try{
Connection con=CommonaJdbc.connection;
PreparedStatement pstmt=con.prepareStatement(sqlState);
pstmt.execute();
flag=true;
if(infoStr!=null)JOptionPane.showMessageDialog(null,infoStr+"数据成功!!","系统提示您",JOptionPane.INFORMATION_MESSAGE);
}catch(SQLException sql){
flag=false;
sql.printStackTrace();
}
return flag;
}
/*********************************以上是执行sql语句操作**********************/
public boolean InsertSP(Obj_shangpin objshangpin){
String sql=null;
if(validateID("goodsID","tb_Shangpin",objshangpin.getgoodsID())){
JOptionPane.showMessageDialog(null,"数据已存在!!","系统提示您",JOptionPane.INFORMATION_MESSAGE);
}
else{
sql="insert into tb_Shangpin (goodsID,goodsName,goodsPrice,goodsDanwei,goodsNumber,goodsKucun,goodsSell) " +
"values ('"+objshangpin.getgoodsID()
+"','"+objshangpin.getgoodsName()
+"','"+objshangpin.getgoodsPrice()
+"','"+objshangpin.getgoodsDanwei()
+"','"+objshangpin.getgoodsNumber()
+"','"+objshangpin.getgoodsKucun()
+"','"+objshangpin.getgoodsSell()
+"')";
infoStr="添加商品信息";
}
return AdapterObject(sql);
}
这是我写的一段代码,用来添加商品的信息,objshangpin商品是实体类的对象,麻烦大峡们给好好看看,是那里错了,总是在红区出错!
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;import javax.swing.JOptionPane;
import appsm.model.*;
public class JdbcAdapter {
private static String infoStr = null;
private boolean validateID(String id,String tname,String idvalue){
String sqlStr=null;
sqlStr="select count(*) from "+tname+" where "+id+"='"+idvalue+"'";
try{
Connection con=CommonaJdbc.connection;
PreparedStatement pstmt=con.prepareStatement(sqlStr);
ResultSet rs=null;
rs=pstmt.executeQuery();
if(rs.next()){
if(rs.getInt(1)>0) return true;
}
}catch(java.sql.SQLException sql){
sql.printStackTrace();
return false;
}
return false;
}
/******************************以上是验证用户是否存在************************************/
private boolean AdapterObject(String sqlState){
boolean flag=false;
try{
Connection con=CommonaJdbc.connection;
PreparedStatement pstmt=con.prepareStatement(sqlState);
pstmt.execute();
flag=true;
if(infoStr!=null)JOptionPane.showMessageDialog(null,infoStr+"数据成功!!","系统提示您",JOptionPane.INFORMATION_MESSAGE);
}catch(SQLException sql){
flag=false;
sql.printStackTrace();
}
return flag;
}
/*********************************以上是执行sql语句操作**********************/
public boolean InsertSP(Obj_shangpin objshangpin){
String sql=null;
if(validateID("goodsID","tb_Shangpin",objshangpin.getgoodsID())){
JOptionPane.showMessageDialog(null,"数据已存在!!","系统提示您",JOptionPane.INFORMATION_MESSAGE);
}
else{
sql="insert into tb_Shangpin (goodsID,goodsName,goodsPrice,goodsDanwei,goodsNumber,goodsKucun,goodsSell) " +
"values ('"+objshangpin.getgoodsID()
+"','"+objshangpin.getgoodsName()
+"','"+objshangpin.getgoodsPrice()
+"','"+objshangpin.getgoodsDanwei()
+"','"+objshangpin.getgoodsNumber()
+"','"+objshangpin.getgoodsKucun()
+"','"+objshangpin.getgoodsSell()
+"')";
infoStr="添加商品信息";
}
return AdapterObject(sql);
}
这是我写的一段代码,用来添加商品的信息,objshangpin商品是实体类的对象,麻烦大峡们给好好看看,是那里错了,总是在红区出错!
我在数据库里定义了一个商品表,字段类型有varchar型,有int型,还有float型 ,现在我在程序里的实体类都用的是String型,程序添加和删除都能实现,可是到了修改就实现不了,我想知道是不是类型不匹配的原因啊,请问是不是我在程序里定义的实体类的数据类型必须和数据库里字段类型一致啊 ???如果是那我的添加和删除怎么就能实现啊 ????