BOOKSTORE
--------------------------------------------------------------------------------书名 作者 价格 销售数量 评论
j2ee核心模 [Microsoft][ODBC SQL Server Driver]无效的描述符索引
加入购物车 继续购物
程序:
<%@ page contentType="text/html;charset=GBK" %>
<%@ include file="common.jsp" %>
<%@ page import="java.util.*,java.sql.*" %>
<%@ page language="java"%>
<html>
<head><title>TitleBookDescription</title></head>
<%@ include file="banner.jsp" %>
<br>
<%
String bookId=request.getParameter("bookId");
if(bookId==null)bookId="1";
try
{
String url= "jdbc:odbc:eshop";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn= DriverManager.getConnection(url);
java.sql.Statement stmt;
stmt= conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String queryMessage = "select * from books ";
queryMessage += "where "+"id='"+bookId+"'";
ResultSet rs= stmt.executeQuery(queryMessage);
out.println("<table border=1>");
out.println("<tr><td>书名<td>作者<td>价格<td>销售数量<td>评论");
while(rs.next())
{
out.println("<tr>");
out.println("<td>"+rs.getString("title")+"</td>");
out.println("<td>"+rs.getString("name")+"</td>");
out.println("<td>"+rs.getFloat("price")+"</td>");
out.println("<td>"+rs.getString("saleAmount")+"</td>");
out.println("<td>"+rs.getString("description")+"</td>");
out.println("</tr>");
}
out.println("</table>");
rs.close();
stmt.close();
conn.close();
}catch(Exception e){
out.println(e.getMessage());
}
out.println("<p><strong><a href="+request.getContextPath()+"/eshop/catalog.jsp?Add="+bookId+">");
out.println("加入购物车");
out.println("</a> ");
out.println("<a href="+ request.getContextPath()+"/eshop/catalog.jsp"+">"+"继续购物</a></p>");
out.println("</strong>");
out.println("</body>");
out.println("</html>");
%>
--------------------------------------------------------------------------------书名 作者 价格 销售数量 评论
j2ee核心模 [Microsoft][ODBC SQL Server Driver]无效的描述符索引
加入购物车 继续购物
程序:
<%@ page contentType="text/html;charset=GBK" %>
<%@ include file="common.jsp" %>
<%@ page import="java.util.*,java.sql.*" %>
<%@ page language="java"%>
<html>
<head><title>TitleBookDescription</title></head>
<%@ include file="banner.jsp" %>
<br>
<%
String bookId=request.getParameter("bookId");
if(bookId==null)bookId="1";
try
{
String url= "jdbc:odbc:eshop";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn= DriverManager.getConnection(url);
java.sql.Statement stmt;
stmt= conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String queryMessage = "select * from books ";
queryMessage += "where "+"id='"+bookId+"'";
ResultSet rs= stmt.executeQuery(queryMessage);
out.println("<table border=1>");
out.println("<tr><td>书名<td>作者<td>价格<td>销售数量<td>评论");
while(rs.next())
{
out.println("<tr>");
out.println("<td>"+rs.getString("title")+"</td>");
out.println("<td>"+rs.getString("name")+"</td>");
out.println("<td>"+rs.getFloat("price")+"</td>");
out.println("<td>"+rs.getString("saleAmount")+"</td>");
out.println("<td>"+rs.getString("description")+"</td>");
out.println("</tr>");
}
out.println("</table>");
rs.close();
stmt.close();
conn.close();
}catch(Exception e){
out.println(e.getMessage());
}
out.println("<p><strong><a href="+request.getContextPath()+"/eshop/catalog.jsp?Add="+bookId+">");
out.println("加入购物车");
out.println("</a> ");
out.println("<a href="+ request.getContextPath()+"/eshop/catalog.jsp"+">"+"继续购物</a></p>");
out.println("</strong>");
out.println("</body>");
out.println("</html>");
%>
是getXXX("")和sql语句的字段顺序不一致造成的,如
select a,b from ab
在访问的时候就不能先getXXX("b"),再getXXX("a"),而要先getXXX("a"),再getXXX("b")就没问题了
因为SQL查询集里面的数据对它们检索的时候要按顺序的,是个指针!