<%@ page language="java" import="java.sql.*" pageEncoding="GBK"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'tjsave.jsp' starting page</title>
</head>
<body> 
<%!String xuehao, name, sex, age, jg, dept, sql, url;%>
<%!int iage;%>
<%!Connection conn;%>
<%!Statement stmt;%>
<%!ResultSet rs;%>
<%
xuehao = request.getParameter("xuehao");
name = request.getParameter("name");
name = new String(name.getBytes("ISO_8859_1"));
sex = request.getParameter("sex");
sex = new String(sex.getBytes("ISO_8859_1"));
age = request.getParameter("age");
iage = Integer.parseInt(age);
jg = request.getParameter("jg");
jg = new String(jg.getBytes("ISO_8859_1"));
dept = request.getParameter("dept");
dept = new String(dept.getBytes("ISO_8859_1"));Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
url = "jdbc:microsoft:SQLServer://localhost:1433;databaseName=university";
conn = DriverManager.getConnection(url, "user_id", "user_password");
sql = "SELECT * FROM Student WHERE Xuehao=" + xuehao;
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next())
{
out.print("已经有该学生的记录");
}
sql = "INSERT INTO Student('Xuehao','Name','Sex','Age','jg','dept')"+ " ";
sql = sql + "VALUES('" + xuehao + "','" + name + "','" + sex + "','" + iage + "','" + jg + "','" + dept +             "')";
stmt.executeUpdate(sql);
rs.close();
conn.close();
stmt.close();
            %>

</body>
</html>运行后有以下错误:exception org.apache.jasper.JasperException: Exception in JSP: /tjsave.jsp:4037:  }
38:  sql = "INSERT INTO Student('Xuehao','Name','Sex','Age','jg','dept')"+ " ";
39:  sql = sql + "VALUES('" + xuehao + "','" + name + "','" + sex + "','" + iage + "','" + jg + "','" + dept + "')";
40:  stmt.executeUpdate(sql);
41:  rs.close();
42:  conn.close();
43:  stmt.close();
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'Student' 无     效。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:843)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:776)
org.apache.jsp.tjsave_jsp._jspService(tjsave_jsp.java:113)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'Student' 无效。
com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.executeUpdateInternal(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.executeUpdate(Unknown Source)
org.apache.jsp.tjsave_jsp._jspService(tjsave_jsp.java:93)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

解决方案 »

  1.   

    javax.servlet.ServletException:   [Microsoft][SQLServer   2000   Driver   for   JDBC][SQLServer]对象名   "Student "   无     效。 
    我看你需要去数据库里面检查下   "Student " 这个表了
      

  2.   

    你先把你定义变量时的<%! ………… %>中间的 "!"  去掉呗~~
    然后把这句
    sql   =   "INSERT   INTO   Student( "Xuehao ", "Name ", "Sex ", "Age ", "jg ", "dept ")"+   "   "; 
    变量中间都放两个 加号  +Xuehao+  这个是连接字符串和变量的
    然后你看看有没有效果~
      

  3.   

    不好意思啊我看差异了~
    你改成这样吧 
    sql   =   "INSERT   INTO   Student( Xuehao , Name, Sex, Age, jg, dept) ";
    sql   = sql + "VALUES( '"   +   xuehao   +   "',' "   +   name   +   "',' "   +   sex   +   "' ,'"   +   age   +   " ','"   +   jg   +   "' ,'"   +   dept   +   "')";我看串行了
      

  4.   

    你那种写法还是有问题:列名'jg'无效我改写成这样就没问题了:
    sql="INSERT INTO Student (Xuehao,Name,Sex,Age,Jiguan,Dept) VALUES('" + xuehao + "','" + name + "','" + sex + "','" +iage +"','" + jg + "','" + dept + "'" + ")";问题解决了,谢谢。