jsp连接sql server2000不了
我用的jdk1.5+tomcat5.5
jsp代码:
<%@ page contentType= "text/html;charset=GB2312 " %>
<%@ page import= "java.sql.* " %>
<html>
<body>
<% Connection con;
Statement sql;
ResultSet rs;
try{ Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
}
catch(ClassNotFoundException e){}
try{ con=DriverManager.getConnection( "jdbc:odbc:sun ", "sa ", " ");
sql=con.createStatement();
rs=sql.executeQuery( "SELECT * FROM students ");
out.print( " <Table Border> ");
out.print( " <TR> ");
out.print( " <TH width=100> "+“学号”);
out.print( " <TH width=100> "+“姓名”);
out.print( " <TH width=50> "+“数学成绩”);
out.print( " <TH width=50> "+“英语成绩”);
out.print( " <TH width=50> "+“物理成绩”);
out.print( " </TR> ");
while(rs.next())
{ out.print( " <TR> ");
out.print( " <TD> "+rs.getString(1)+ " </TD> ");
out.print( " <TD> "+rs.getString(2)+ " </TD> ");
out.print( " <TD> "+rs.getString(数学成绩)+ " </TD> ");
out.print( " <TD> "+rs.getString(英语成绩)+ " </TD> ");
out.print( " <TD> "+rs.getString(物理成绩)+ " </TD> ");
out.print( " </TR> ");
}
out.print( " </Table> ");
con.close();
}
catch(SQLException e1){}
%>
</body>
</html>
错误提示是:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 5 in the jsp file: /Example5_1.jsp
Syntax error on tokens, delete these tokens
2: <%@ page import= "java.sql.* " %>
3: <html>
4: <body>
5: <% Connection con;
6: Statement sql;
7: ResultSet rs;
8: try{ Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
An error occurred at line: 21 in the jsp file: /Example5_1.jsp
Syntax error, insert ") " to complete MethodInvocation
18: out.print( " <TH width=50> "+“数学成绩”);
19: out.print( " <TH width=50> "+“英语成绩”);
20: out.print( " <TH width=50> "+“物理成绩”);
21: out.print( " </TR> ");
22: while(rs.next())
23: { out.print( " <TR> ");
24: out.print( " <TD> "+rs.getString(1)+ " </TD> ");
我怀疑自己是没有调用某些包,我装了SQL Server 2000 Driver for JDBC Service Pack 3也没用
请高手帮我解决下。
[解决办法]
out.print移到 <%%> 外面,很久不这样写了,都忘了
[解决办法]
给个例子给你看:
package student;
import java.sql.*;
public class conn {
String sDBDriver= "sun.jdbc.odbc.JdbcOdbcDriver ";
String sConnStr= "jdbc:odbc:student ";//student是数据源名,这是你要设置的
Connection conn=null;
ResultSet rs=null;
public conn(){
try{
Class.forName(sDBDriver);
}catch(java.lang.ClassNotFoundException e){
System.err.println(e.getMessage());
}
}
public ResultSet executeQuery(String sql){
try{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}catch(SQLException ex){
System.err.println(ex.getMessage());
}
return rs;
}
}
[解决办法]
直连数据库使用这三个包
SQL Server 2000 Driver for JDBC Service Pack 3
你用的是桥连。所以可以不用.
声明的变量 例:Connection con =null;要赋初始值
在检查 你输入的 ') ',是不是 中文的
[解决办法]
out.print( " <TD> "+rs.getString(数学成绩)+ " </TD> ");
out.print( " <TD> "+rs.getString(英语成绩)+ " </TD> ");
out.print( " <TD> "+rs.getString(物理成绩)+ " </TD> ");
改成
out.print( " <TD> "+rs.getString( "数学成绩 ")+ " </TD> ");
out.print( " <TD> "+rs.getString( "英语成绩 ")+ " </TD> ");
out.print( " <TD> "+rs.getString( "物理成绩 ")+ " </TD> ");
[解决办法]
rs.getString(数学成绩)是不是应该改为rs.getString( "数学成绩 ")?
最后一行怎么没有 "} "?
[解决办法]
哈哈,佩服,中文引号都能看出来。
劝楼主还是用个开发工具比较好一点,至少输入错误可以提示出来。
jingtao8177(潜水) ( ) 信誉:100
我的异常网推荐解决方案:org.apache.jasper.JasperException: Unable to compile class,http://www.myexception.cn/j2ee/2308.html