表是这样的
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);
%>
也无法修改。。???
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);
%>
也无法修改。。???
解决方案 »
- 形参(String columnLabel)的格式问题
- JSP中的NullPointerException,求高手指点
- java.lang.IllegalStateException: getOutputStream() has already been called for this response错误
- struts的DynaValidatorForm验证为什么总是失败呢.?
- 请高手赐教!看这个问题用b/s结构怎么解决。
- JSP如何读取 XML 中的内容?
- struts2 action返回值的问题。
- 弱弱的问一句
- IE11下struts的问题
- 请问下java如何实现接收图片后传送到另一台服务器上
- 会myfaces的兄弟进来下
- 请问eclipse中加如tomcatplus之后为何在eclipse配置中还是找不到tomcat相关项
这个语句不对吧
你的表里面不是有3个字段吗?
psmt.setString(2,newsclass.getClassName());
对第三个参数的id设置值的语句呢?
你没有设置值,就是null,DB里面没有id=null的记录,你当然更新不了嘛!
还有推荐把execute() 改成executeUpdate().
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 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();
}
我用insert newsclass(class,classname)values(3,'aaa');可以插入到数据库中。这个和数据库有关系吗?
psmt.setInt(1,newsclass.getClassId());
psmt.setString(2,newsclass.getClassName());
中newsclass的值?
<jsp:setProperty name="newsclass" property="*"/>
</jsp:useBean>
这句不是赋值吗。
sql语句能执行。。更新那个确实有点问题。添加那个也不执行啊//
你在psmt.setInt(1,newsclass.getClassId());
psmt.setString(2,newsclass.getClassName());
前面System.out.println(newsclass.getClassId());
System.out.println(newsclass.getClassName());输出到控制台看一下!
既然你用了jsp自动赋值,那么你的javabean应该对应jsp中输入框的名字。jsp中分别为:classid和classname,所以在javabean中应该对应的是setClassid、getClassid和setClassname和getClassname。
<jsp:useBean id="newsclass" class="Wanshun2.NewsClass" scope="page">
<jsp:setProperty name="newsclass" property="*"/>
</jsp:useBean> property="*" 里应该是classid或classname吧
你改了试试。