关于JSP中数据库的问题?
SQL2000数据库,我是想把表shouTable中的count项的值付给数据表monthTble相对应的receive项,程序运行没有报错,但是count的值并没有付给receive,请高手帮忙看下,小弟感激不尽!
<%@ page contentType= "text/html; charset=gb2312 " language= "java " import= "java.sql.* "
errorPage= " " %>
<%@ include file= "checkadmin.jsp "%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN " "http://www.w3.org/TR/html4/loose.dtd ">
<html>
<head>
<body>
<%
String s=session.getAttribute( "s ").toString();
String sqlString= "select * from shouTable where s_date like '% "+s+ "% ' ";
try
{ Connection con;
Statement sql1,sql2,sql3;
ResultSet rs,rs1;
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ");
con=DriverManager.getConnection( "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=shangdianDB ", "sa ", " ");
sql1=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
sql2=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
sql3=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=sql1.executeQuery(sqlString);
while(rs.next()){
String e_name=rs.getString( "e_name ");
String e_size=rs.getString( "e_size ");
int count=Integer.parseInt(rs.getString( "amount "));
rs1=sql2.executeQuery( "select * from monthTable where e_name= ' "+e_name+ " ' and e_size= ' "+e_size+ " ' and mon= ' "+s+ " ' ");
rs1.next();
int receive=rs1.getInt( "receive ");
int amount=count+receive;
sql3.executeUpdate( "update monthTable set receive= "+amount+ " where e_name= ' "+e_name+ " ' and e_size= ' "+e_size+ " ' and mon= ' "+s+ " ' ");
}
con.close();
}
catch(
SQLException e1)
{
out.print(e1);
}
%>
<%response.sendRedirect( "mon3.jsp ");%>
</body>
</html>
------解决方案--------------------把你的sql语句先打印出来,在查询分析器执行看看有没有错.