一个人给javabean的问题
QXZ06 2008-07-06 07:57:09 搞了好长时间没弄明白哪出问题了,有耐心的朋友帮忙看一下:
package test;
import test.*;
import java.sql.*;
public class DoConDB
{
public CheckMod check;
public ConDB condb;
public ModDB mod;
private Statement stmt;
private int i;
public void DoConDB()
{
check=new CheckMod();
condb=new ConDB();
stmt=null;
i=-99;
}
public void setMod(ModDB mod)
{
this.mod=mod;
}
public int toUp()//throws Exception
{
try
{
String sql="insert into info(name,password,tel,address)values('"+check.toChinese(check.toStr(mod.getName()))+"','"+check.toChinese(check.toStr(mod.getPassword()))+"','"+check.toChinese(check.toStr(mod.getTel()))+"','"+check.toChinese(check.toStr(mod.getAddress()))+")";
stmt=condb.getStmtread();
i=stmt.executeUpdate(sql);
}
catch (Exception e)
{
if(condb==null)i=-4; //这是一个bean,为什么condb,stmt,check都是null,new 的不应该为空! if(stmt==null)i=-2;
if(check==null)i=-1;
else i=-3;
//throw e;
}
return i;
}
public void close()
{
try
{
condb.close();
}
catch (Exception e)
{
}
}
}
condb的源码如下;
package test;
import java.sql.*;
public class ConDB
{
private static Connection con;
private Statement stmt;
private ResultSet rs;
private static final String drivername="com.mysql.jdbc.Driver";
private static final String url="jdbc:mysql://localhost:3306/testdate";
public static synchronized Connection getCon()throws Exception
{
try
{
Class.forName(drivername);
con=DriverManager.getConnection(url,"root","root");
return con;
}
catch (SQLException e)
{
System.out.println(e.getMessage());
throw e;
}
}
public Statement getStmtread()throws Exception
{
try
{
con=getCon();
stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
return stmt;
}
catch (Exception e)
{
System.err.println(e.getMessage());
e.printStackTrace();
}
return null;
}
public ResultSet getRs(String sql)
{
try
{
stmt=getStmtread();
rs=stmt.executeQuery(sql);
return rs;
}
catch (Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
}
return rs;
}
public void close()
{
try
{
if(rs!=null)
{
rs.close();
rs=null;
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
}
try
{
if(stmt!=null)
{
stmt.close();
stmt=null;
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
}
try
{
if(con!=null)
{
con.close();
con=null;
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
一下是checkMod的源码
package test;
public class CheckMod
{
private String comeOutStr;
private int comeOutInt;
public void CheckMod()
{
comeOutStr="";
comeOutInt=0;
}
public String toStr(String comeInStr)
{
if(comeInStr==null||comeInStr.equals(""))
{
return comeOutStr="no";
}
else
{
return comeOutStr=comeInStr.trim();
}
}
public int toInt(String comeInInt)
{
try
{
{comeOutInt=Integer.parseInt(comeInInt);}
}
catch (Exception e)
{
comeOutInt=0;
System.out.println(e.getMessage());
}
return comeOutInt;
}
public String toChinese(String str)
{
try
{
str=(new String(str.getBytes("iso-8895-0"),"GB2312"));
}
catch (Exception e)
{
System.out.println(e.getMessage());
return str;
}
return str;
}
}