jsp中无法向数据库中插入数据

tianhao1984 2007-05-07 08:30:22
我刚刚开始学习jsp,在调试一个电子书店系统时遇到了问题,请各位高手帮忙看看,怎么回事.
订单不能被添加到数据库,程序如下:
<%@ page contentType="text/html;charset=gb2312" import="java.sql.*"%>
<jsp:useBean id="conn" class="dbBean.DBBean" scope="session"/>
<jsp:useBean id="cart" class="cart.Cart" scope="session"/>
<html>
<link rel="stylesheet" type="text/css" href="style.css"/>
<body background="images/bg01.gif">
<center>
<%
String orderid="";
String logid="";
String logname="";
String bookid="";
String sum="";
String sql="";
ResultSet rs=null;
request.setCharacterEncoding("gb2312");
if(request.getParameter("sum")!=null)
sum=request.getParameter("sum");
logid=(String)session.getAttribute("id");
logname=(String)session.getAttribute("name");
orderid=logid;
if(logid.length()<8)
{
int num=8-logid.length();
for(int i=0;i<num;i++)
orderid="0"+orderid;
}
sql="select max(id) from orderinfo";
rs=conn.executeQuery(sql);
String mid="";
if(rs.next())
mid=rs.getString(1);
if(mid==null)
mid="0";
rs.close();
orderid="EBS"+orderid+mid;
String[] id = cart.getItems();
for (int i=0; i<id.length; i++)
bookid+=id[i]+",";
if(!bookid.equals(""))
{
sql="insert into orderinfo(orderid,userid,name,bookid,orderdate,orderstate) values('"+orderid+"',"+logid+",'"+logname+"','"+bookid+"',datetime,'未交货')";
conn.executeUpdate(sql);
conn.close();
cart.clearAll();
%>
<table width="90%" cellpadding="3" cellspacing="0" border bordercolor="blue" bordercolorlight="#FFFFFF">
<tr>
<th align="center" background="images/bg04.gif" height="26">订单信息</th>
<tr>
<td><font size="2">您的订单号为<font color="red"><%=orderid%></font>,请保留此订单号,我们将以此作为付货的依据!</font></td>
<tr>
<td>本次购书总金额为<%=sum%>元,我们将会在三个工作日内送书上门,有任何问题请直接<a href="mailto:tianhao101@sina.com">联系我们!</a></td>
</table>
<%
}
else
out.println("<h3>对不起,请不要重复提交订单!</h3>");
%>
</center>
</body>
</html>
...全文
301 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianhao1984 2007-05-07
  • 打赏
  • 举报
回复
Cart的代码如下:
package cart;
import java.util.Vector;
public class Cart {
Vector v = new Vector();
String act = null;
String item = null;
private void addItem(String id) {
v.addElement(id);
}
private void removeItem(String id) {
v.removeElement(id);
}
public void setItem(String id) {
item = id;
}
public void setAct(String s) {
act = s;
}
public String[] getItems() {
String[] s = new String[v.size()];
v.copyInto(s);
return s;
}
public void processRequest() {
if (act.equals("add"))
addItem(item);
else if (act.equals("remove"))
removeItem(item);
// reset at the end of the request
reset();
}
// reset
private void reset() {
act = null;
item = null;
}
public void clearAll(){
v.removeAllElements();
}
}
tianhao1984 2007-05-07
  • 打赏
  • 举报
回复
补充一下 DBBean的代码如下:
package dbBean;
import java.sql.*;
public class DBBean
{
private String driverStr = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String connStr = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=bookstore";
private Connection conn = null;
private Statement stmt = null;

public DBBean()
{
try {
Class.forName(driverStr);
}
catch(ClassNotFoundException ex) {
System.out.println(ex.getMessage());
}
}
public void setDriverStr(String dstr)
{
driverStr=dstr;
}
public void setConnStr(String cstr)
{
connStr=cstr;
}
public ResultSet executeQuery(String sql)
{
ResultSet rs = null;
try {
conn = java.sql.DriverManager.getConnection(connStr,"sa","bn");
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.out.println(ex.getMessage());
}
return rs;
}
public int executeUpdate(String sql)
{
int result=0;
try{
conn = java.sql.DriverManager.getConnection(connStr,"sa","bn");
stmt = conn.createStatement();
result = stmt.executeUpdate(sql);
}
catch(SQLException ex){
System.out.println(ex.getMessage());
}
return result;
}
public void close()
{
try{
stmt.close();
conn.close();
}
catch(SQLException ex){
System.out.println(ex.getMessage());
}
}
}

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧