使用executeUpdate插入成功一条记录,返回值是0?
(1)以下是我写的一个javabean:Sdb.java
里的一个方法,jsp页面通过调用这个方法执行数据库记录的修改
public int executeUpdate(String sql)
{
int rowCount=0;
rs=null;
try
{
conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
rowCount=stmt.executeUpdate(sql);
System.out.println(String.valueOf(rowCount));
}
catch(SQLException ex)
{
ex.printStackTrace();
System.err.println("Sdb,excuteUpdate:"+ex.getMessage());
System.out.print("Sdb,excuteUpdate:"+ex.toString());//输出到客户端
return 0;
}
return 1;
}
(2)下面是我用来修改学生成绩的一个简单的jsp页
<jsp:useBean id="sdb" class="jbean.Sdb" scope="request"/>
<jsp:setProperty name="sdb" property="*"/>
<body>
<form name="form1" method="post" action="">
<p>学号:<input type="text" name="sno"></p>
<p>课程号:<input type="text" name="cno"></p>
<p>成绩:<input type="text" name="grade"></p>
<input type="submit" name="Submit" value="修改">
<%
String sql="";
String sno=sdb.toChinese(request.getParameter("sno"));
String cno=sdb.toChinese(request.getParameter("cno"));
String grade=sdb.toChinese(request.getParameter("grade"));
if(sno!=null&&cno!=null&&grade!=null)
{ if(!sno.equals("")&&!cno.equals("")&&!grade.equals(""))
{
sql="update Reports set grade='"+grade+"' where Sno='"+sno+"' and Cno='"+cno+"'";
int update=sdb.executeUpdate(sql);
if(update==0)
out.print("<script>alert('修改失败!');</script>");
}
}
%>
</form>
</body>
我现在遇到的问题是,当我成功插入一条记录时Sdb.java的executUpdate中的System.out.println(String.valueOf(rowCount));显示的却是0,但都有些表的记录的修改时又是1。
而且我在查询分析器里直接输入修改语句显示的也都是“所影响的行数为1行”
这是为什么啊