好久没发文章了,今天终于把一个烦了我很多天的问题解决了,好爽,在这里我要感谢PhD(jspjava)这位朋友,这个问题是关于jsp编历两极数据库的问题
这个代码只是读取数据库里面的第一条记录,我要先读一个表A,另外一个表的数据要根据这个表A读出来的字段才能读取数据,也就是while里面还有while,数据库里有很多条记录,但是只是显示第一条。我起初的代码如下:
Connection con;
Statement sql,sql2;
ResultSet rs,rs1;
int param,num;
String param2;
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e) {}
try{con=DriverManager.getConnection("jdbc:odbc:student","","");
sql=con.createStatement();
rs=sql.executeQuery("select * from student_credit_record order by student_id");
while(rs.next())
{
param=rs.getInt("student_id");
param2=rs.getString(2);
String student_sex=rs.getString(3);
int credit_degree=rs.getInt("credit_degree");
out.print("<tr>");
out.print("<td><font color=#990033><a href=stu_info.jsp?id="+param+">"+param2+"</a></font></td>");
out.print("<td>"+param+"</td>");
out.print("<td>"+student_sex+"</td>");
out.print("<td><font color=#990033>"+credit_degree+"</font></td>");
sql2=con.createStatement();
String sqlstring="select count(*) from bad_record where student_id="+param;
rs1=sql2.executeQuery(sqlstring);
while(rs1.next())
{ //将游标移动到第一条记录,这里总共也才一条记录
num=rs1.getInt(1);
out.print("<td>"+num+"(条)"+"</td>");
}
//out.print("<td>"+"2"+"</td>");
out.print("<td><a href=stu_modify.jsp?id="+param+"&nid="+param2+">"+"修改"+"</a>"+"|"+"<a href=stu_del.jsp?id="+param+"&nid="+param2+">"+"删除"+"</a></td>");
out.print("</tr>");
}
con.close();
}
catch(SQLException e6)
{
// out.print(e6);
}
最后这个朋友帮我解决的办法是:要定义两个statement 一个sql,另一个sql2
这样就可以运行程序了,csdn上很多人都还不知道这个问题呢(jsp这个方面)