代码如下,请帮忙找出错误:
//建立连接准备
Connection con;
Statement sql;
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>");
String sqlstring="select count(*) from bad_record where student_id="+param;
rs1=sql.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) {}
8 个解决方案
#1
看来是没有高手,都在这边吹
#2
没看明白你想问什么,很是奇怪。你想实现什么样的,现在你的程序运行出来是什么样的,还有就是你数据库中的数据是什么,都没说,没法帮你看。
#3
看你驱动的版本了 早点的不能只定义一个Statement sql; 这样只能取出最后的ResultSet定义两个Statement sql,sql2;再测试一下
#4
改一下sql,可以同时在一条sql中实现
#5
我是说我先读一个表A,另外一个表的数据要根据这个表A读出来的字段才能读取数据,也就是while里面还有while,数据库里有很多条记录,但是只是显示第一条,怎么不知道呢
#6
改成一句,去掉大循环里的小循环.
rs=sql.executeQuery("select a.* b.count(*) from student_credit_record a, bad_record b where b.student_id= by a.student_id order a.student_id");
rs=sql.executeQuery("select a.* b.count(*) from student_credit_record a, bad_record b where b.student_id= by a.student_id order a.student_id");
#7
joyaga(joyaga)
谢谢你啊,很多人都没看出来,说了一大堆都不知道,真是太感谢了,我能够加你吗,我QQ 2988976
希望向你学习
谢谢你啊,很多人都没看出来,说了一大堆都不知道,真是太感谢了,我能够加你吗,我QQ 2988976
希望向你学习
#8
String sqlstring="select count(*) from bad_record where student_id="+param;
这个语句只能读出表bad_record 中的student_id="+param的总数...返回一个记录...
如果要全部读出就写成:
String sqlstring="select * from bad_record where student_id="+param;
这个语句只能读出表bad_record 中的student_id="+param的总数...返回一个记录...
如果要全部读出就写成:
String sqlstring="select * from bad_record where student_id="+param;
#1
看来是没有高手,都在这边吹
#2
没看明白你想问什么,很是奇怪。你想实现什么样的,现在你的程序运行出来是什么样的,还有就是你数据库中的数据是什么,都没说,没法帮你看。
#3
看你驱动的版本了 早点的不能只定义一个Statement sql; 这样只能取出最后的ResultSet定义两个Statement sql,sql2;再测试一下
#4
改一下sql,可以同时在一条sql中实现
#5
我是说我先读一个表A,另外一个表的数据要根据这个表A读出来的字段才能读取数据,也就是while里面还有while,数据库里有很多条记录,但是只是显示第一条,怎么不知道呢
#6
改成一句,去掉大循环里的小循环.
rs=sql.executeQuery("select a.* b.count(*) from student_credit_record a, bad_record b where b.student_id= by a.student_id order a.student_id");
rs=sql.executeQuery("select a.* b.count(*) from student_credit_record a, bad_record b where b.student_id= by a.student_id order a.student_id");
#7
joyaga(joyaga)
谢谢你啊,很多人都没看出来,说了一大堆都不知道,真是太感谢了,我能够加你吗,我QQ 2988976
希望向你学习
谢谢你啊,很多人都没看出来,说了一大堆都不知道,真是太感谢了,我能够加你吗,我QQ 2988976
希望向你学习
#8
String sqlstring="select count(*) from bad_record where student_id="+param;
这个语句只能读出表bad_record 中的student_id="+param的总数...返回一个记录...
如果要全部读出就写成:
String sqlstring="select * from bad_record where student_id="+param;
这个语句只能读出表bad_record 中的student_id="+param的总数...返回一个记录...
如果要全部读出就写成:
String sqlstring="select * from bad_record where student_id="+param;