数据库操作(access)
代码如下:(数据库中有一个 贴子 表,里面的 贴子id,回复id 都是长整型)if ((Is_Delete.equals("1")&&(Edit_Id==null)))
{
sql = "Select * From 贴子 Where 贴子id="+Delete_Id;
rs=stmt.executeQuery(sql);
Delete_Id_Back=rs.getString("回复id"); //出问题??
if(Delete_Id_Back.equals("0"))
{ //主题帖子
int count = rs.getInt("回复次数"); //也有问题???
sql="Delete From 贴子 Where 回复id="+Delete_Id; //删除该主题帖子的回复帖子
rs=stmt.executeQuery(sql);
sql="Delete From 贴子 Where 贴子id="+Delete_Id; //删除主题帖子
stmt.executeUpdate(sql);
//更新论坛中帖子数量
sql = "update 论坛栏目 set 贴子数量=贴子数量-count,主题数量=主题数量-1 where 论坛id="+Board_Id;
stmt.executeUpdate(sql);
}
else //删除回复的帖子
{
sql = "Delete From 贴子 Where 贴子id="+Delete_Id;
stmt.executeUpdate(sql);
sql = "update 贴子 set 回复次数=回复次数-1 where 贴子id="+Delete_Id_Back;
stmt.executeUpdate(sql);
sql = "update 论坛栏目 set 贴子数量=贴子数量-1 where 论坛id="+Board_Id;
stmt.executeUpdate(sql);
}
}我调试了很久,发现错误出在 Delete_Id_Back=rs.getString("回复id"); 这句话
只要把它注掉,程序就能执行,但是不知道出在哪里,出错信息是:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: [Microsoft][ODBC ???????] ???????
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800)
org.apache.jsp.querymodify_jsp._jspService(querymodify_jsp.java:162)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.sql.SQLException: [Microsoft][ODBC ???????] ???????
sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6879)
sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7036)
sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3862)
sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5561)
sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:338)
sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:395)
org.apache.jsp.querymodify_jsp._jspService(querymodify_jsp.java:125)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)不知道到底哪里出错了,望各位执教!
代码如下:(数据库中有一个 贴子 表,里面的 贴子id,回复id 都是长整型)if ((Is_Delete.equals("1")&&(Edit_Id==null)))
{
sql = "Select * From 贴子 Where 贴子id="+Delete_Id;
rs=stmt.executeQuery(sql);
Delete_Id_Back=rs.getString("回复id"); //出问题??
if(Delete_Id_Back.equals("0"))
{ //主题帖子
int count = rs.getInt("回复次数"); //也有问题???
sql="Delete From 贴子 Where 回复id="+Delete_Id; //删除该主题帖子的回复帖子
rs=stmt.executeQuery(sql);
sql="Delete From 贴子 Where 贴子id="+Delete_Id; //删除主题帖子
stmt.executeUpdate(sql);
//更新论坛中帖子数量
sql = "update 论坛栏目 set 贴子数量=贴子数量-count,主题数量=主题数量-1 where 论坛id="+Board_Id;
stmt.executeUpdate(sql);
}
else //删除回复的帖子
{
sql = "Delete From 贴子 Where 贴子id="+Delete_Id;
stmt.executeUpdate(sql);
sql = "update 贴子 set 回复次数=回复次数-1 where 贴子id="+Delete_Id_Back;
stmt.executeUpdate(sql);
sql = "update 论坛栏目 set 贴子数量=贴子数量-1 where 论坛id="+Board_Id;
stmt.executeUpdate(sql);
}
}我调试了很久,发现错误出在 Delete_Id_Back=rs.getString("回复id"); 这句话
只要把它注掉,程序就能执行,但是不知道出在哪里,出错信息是:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: [Microsoft][ODBC ???????] ???????
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800)
org.apache.jsp.querymodify_jsp._jspService(querymodify_jsp.java:162)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.sql.SQLException: [Microsoft][ODBC ???????] ???????
sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6879)
sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7036)
sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3862)
sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5561)
sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:338)
sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:395)
org.apache.jsp.querymodify_jsp._jspService(querymodify_jsp.java:125)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)不知道到底哪里出错了,望各位执教!
=================
what does it mean?
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>登陆验证</title><link rel=stylesheet href="style.css" type="text/css">
</head><body>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="LoginBean" scope="page" class="firm.firm" />
<%
String name1 = new String(request.getParameter("user_id").getBytes("8859_1"));
String pwd1 = new String(request.getParameter("password").getBytes("8859_1"));
String sql="select * from user where username ='"+name1+"'and password='"+pwd1+"'";
ResultSet rs=LoginBean.executeQuery(sql);
if(rs.next())
{
rs.close();
LoginBean.closeStmt();
LoginBean.closeConn();
session.putValue("username",name1);
session.putValue("password",pwd1);
%>
<script language=javascript>
window.loction="index_ok.jsp?=成功登陆"
</script>
<% }
else{
rs.close();
LoginBean.closeStmt();
LoginBean.closeConn();
String msg="用户名和密码有误!";
session.putValue("login_message",msg);
%>
<jsp:forward page="relogin.jsp"/>
<% } %>
</body>
</html>
是改成getstring('列序号');
如getstring(3);