表是这样的
create table newsclass(id int Auto_increment Primary key,
class int not null,classname varchar(40)not null);NewsClass.java
public class NewsClass implements Serializable
{
private int id;
private int classid;
private String classname;public int getId(){return id;}
public int getClassId(){return classid;}
public string getClassName(){return classname;}
public void setId(int id)
{
this.id=id;
}
public void setClassId()
{
this.classid=classid;
}
public void setClassName()
{
this.classname=classname;
}
}NewsClassBean.java
public class NewsClassBean
{
//添加一个新闻分类
public void addNewsClass(NewsClass newsclass)throws Exception
{
PreparedStatement psmt=con.prepareStatement("insert into newsclass(class,classname)values(?,?)");
psmt.setInt(1,newsclass.getClassId());
psmt.setString(2,newsclass.getClassName());
psmt.execute();
}
//修改一个新闻分类
public void modifyNewsClass(NewsClass newsclass)throws Exception
{
PreparedStatement psmt=con.prepareStatement("update newsclass set class=?,classname=? where id=?");

psmt.setInt(1,newsclass.getClassId());
psmt.setString(2,newsclass.getClassName());
psmt.execute();
}}addNewsClass.jsp
<form action="addNewsClass_do.jsp" method="post">
<input type="text" name="classid">
<input type="text" name="classname">
</form>addNewsClass_do.jsp
<jsp:useBean id="newsclass" class="Wanshun2.NewsClass" scope="page">
<jsp:setProperty name="newsclass" property="*"/>
</jsp:useBean>
<jsp:useBean id="newsclassBean" class="Wanshun2.NewsClassBean" scope="page">
</jsp:useBean><%
newsclassBean.addNewsClass(newsclass);
%>
也无法修改。。???

解决方案 »

  1.   

    psmt.execute();之后你关闭它看看.
      

  2.   

    insert into newsclass(class,classname)values(?,?)
    这个语句不对吧
    你的表里面不是有3个字段吗?
      

  3.   

    连接了,在一个java文件中,在NewsClassBean.java的构造函数中调用了,连接数据库的方法。
      

  4.   

    PreparedStatement psmt=con.prepareStatement("update newsclass set class=?,classname=? where id=?");psmt.setInt(1,newsclass.getClassId());
    psmt.setString(2,newsclass.getClassName());
    对第三个参数的id设置值的语句呢?
    你没有设置值,就是null,DB里面没有id=null的记录,你当然更新不了嘛!
    还有推荐把execute() 改成executeUpdate().
      

  5.   

    //添加一个新闻分类
    public void addNewsClass(NewsClass newsclass)throws Exception
    {
    PreparedStatement psmt=con.prepareStatement("insert into newsclass(class,classname)values(?,?)");
    psmt.setInt(1,newsclass.getClassId());
    psmt.setString(2,newsclass.getClassName());
    psmt.execute();
    }
    添加操作正确吗?
      

  6.   

    DataBaseConnection.java
    public class DataBaseConnection
    {
    public static Connection getConnection()
    {
    Connection con=null;
    String CLASSFORNAME="com.mysql.jdbc.Driver";
    Sting SERVERDB="jdbc:mysql://127.0.0.1/jspdev";
    String USER="root";
    String PWD="123";
    }
    try
    {
    Class.forName(CLASSFORNAME);
    con=DrvererManager.getConnection(SERVERDB,USER,PWD);
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    return con;
    }
    NewsClassBean.java中
    private Connectiont con;
    public NewsClassBean()
    {
    this.con=DataBaseConnection.getConnection();
    }
      

  7.   

    自动增长的还用给赋值吗。
    我用insert newsclass(class,classname)values(3,'aaa');可以插入到数据库中。这个和数据库有关系吗?
      

  8.   

    确认一下你的:
    psmt.setInt(1,newsclass.getClassId());
    psmt.setString(2,newsclass.getClassName());
    中newsclass的值?
      

  9.   

    将sql语句直接在mysql客户端上执行一下,看看能不能正确更新,如果不可以那么是sql语句的问题,如果可以那么是程序的问题,首先将错误的范围缩小,然后再找原因比较容易。
      

  10.   

    <jsp:useBean id="newsclass" class="Wanshun2.NewsClass" scope="page">
    <jsp:setProperty name="newsclass" property="*"/>
    </jsp:useBean>
    这句不是赋值吗。
    sql语句能执行。。更新那个确实有点问题。添加那个也不执行啊//
      

  11.   

    你那个赋值后是不是真的有值啊?
    你在psmt.setInt(1,newsclass.getClassId());
    psmt.setString(2,newsclass.getClassName());
    前面System.out.println(newsclass.getClassId());
    System.out.println(newsclass.getClassName());输出到控制台看一下!
      

  12.   

    <jsp:setProperty name="newsclass" property="*"/>
    既然你用了jsp自动赋值,那么你的javabean应该对应jsp中输入框的名字。jsp中分别为:classid和classname,所以在javabean中应该对应的是setClassid、getClassid和setClassname和getClassname。
      

  13.   

    addNewsClass_do.jsp
    <jsp:useBean id="newsclass" class="Wanshun2.NewsClass" scope="page">
    <jsp:setProperty name="newsclass" property="*"/>
    </jsp:useBean> property="*"  里应该是classid或classname吧 
     你改了试试。