package com.servlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import com.Bean.*;
public class addaction extends HttpServlet
{
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException
{
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("GBK");
PrintWriter out=response.getWriter();
boolean flag=false;
String gdbID ,gname,gpricestr,gnumstr,gmaker,gintro;
gdbID=request.getParameter("gdbID");
gname=request.getParameter("gname");
gpricestr=request.getParameter("gprice");
gnumstr=request.getParameter("gnum");
gmaker=request.getParameter("gmaker");
gintro=request.getParameter("gintro");
System.out.println(gdbID);
System.out.println(gname);
System.out.println(gpricestr);
System.out.println(gnumstr);
System.out.println(gmaker);
System.out.println(gintro);
int gprice=Integer.parseInt(gpricestr);
int gnum=Integer.parseInt(gnumstr);
dbconn dbcon=new dbconn();
String insertStr="insert into goodsInfo(gdbID,gname,gprice,gnum,gmaker,gintro) values";
insertStr=insertStr+"('"+gdbID+"',";
insertStr=insertStr+"('"+gname+"',";
insertStr=insertStr+""+gprice+",";
insertStr=insertStr+""+gnum+",";
insertStr=insertStr+"'"+gmaker+"',";
insertStr=insertStr+"'"+gintro+"')";
//out.println(insertStr);
try
{
flag=dbcon.executeUpdate(insertStr);
dbcon.destory();
}
catch(Exception e)
{
out.println(e.getMessage());
}
if(flag)
{
out.println("<script language=\"javascript\">alert(\"添加成功\");window.history.go(-1);</script>");
/*getServletConfig().getServletContext().getRequestDispatcher("/listaction").forward(request,response);*/
}
else
{
getServletConfig().getServletContext().getRequestDispatcher("/error.jsp").forward(request,response);
}
}
}
在
flag=dbcon.executeUpdate(insertStr);
下断点,看拼接的sql是否正确,参数、参数类型。
out.println(e.getMessage());
是否输出错误信息。
你的DBCON和log呢?这样贴出来谁知道
package com.Bean;
import java.sql.*;
import javax.sql.*;
import java.util.*;
public class dbconn
{
String url="jdbc:mysql://localhost:3306/gwst"; // 定义mysql数据库url;
Connection conn=null; //定义连接
Statement stmt=null;
ResultSet rs=null; //定义结果集
ResultSetMetaData meta=null;
Hashtable ht=null; // 定义hashtable集合,用来存储查询结果
ArrayList al=null;
String userName="root"; //定义mysql数据库的用户名及密码
String userPassword="18202430419";
public dbconn(String dbName)
{
try
{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url+dbName,userName,userPassword);
}
catch(ClassNotFoundException e)
{
System.out.println("类没有找到"+e.getMessage());
}
catch(SQLException e)
{
System.out.println("没有连接成功");
}
}
public dbconn()
{
try
{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/gwxt",userName,userPassword);
}
catch(ClassNotFoundException e)
{
System.out.println("类没有找到"+e.getMessage());
}
catch(SQLException e)
{
System.out.println("没有连接成功");
}
}
public ArrayList executeQuery(String sql)
{
try
{
al=new ArrayList();
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
meta=rs.getMetaData();
int colCount=meta.getColumnCount();
//System.out.println(colCount);
while(rs.next())
{
ht=new Hashtable();
for(int i=1;i<=colCount;i++)
{
ht.put(meta.getColumnLabel(i),rs.getObject(i));
}
al.add(ht);
}
}
catch(SQLException ex)
{
System.out.println("查询出错"+ex.getMessage());
}
return al;
}
public boolean executeUpdate(String sql)
{
boolean flag=false;
try
{
stmt=conn.createStatement();
stmt.executeUpdate(sql);
System.out.println("更新成功");
flag=true;
}
catch(SQLException up)
{
System.out.println("更新数据库发生错误");
}
return flag;
}
public void destory()
{
try
{
if(rs!=null)
{
rs.close();
}
if(stmt!=null)
{
stmt.close();
}
if(conn!=null)
{
conn.close();
}
rs=null;
stmt=null;
conn=null;
}
catch(Exception close)
{
System.out.println("关闭时发生错误");
}
}
ackage com.Bean;
import java.sql.*;
import java.util.*;
import com.Bean.*;
public class loginbean
{
dbconn dbuser=null;
public loginbean()
{
dbuser=new dbconn();
}
public boolean checkUser(String user,String pwd,String db)
{
boolean flag=false;
ArrayList aluser=null;
if(db.equals("managerInfo"))
{
aluser=dbuser.executeQuery("select * from managerInfo where managID='"+user+"'");
}
else if(db.equals("buyerInfo"))
{
aluser=dbuser.executeQuery("select * from buyerInfo where regname='"+user+"'");
}
dbuser.destory();
if(aluser.size()!=0)
{
Hashtable htuser=(Hashtable)aluser.get(0);
System.out.println(htuser.get("psw"));
System.out.println(pwd);
if(htuser.get("psw").equals(pwd))
{
flag=true;
}
}
else
{
flag=false;
}
return flag;
}
}
不知具体报错信息是什么,但是我发现楼主的代码:
insertStr=insertStr+"('"+gdbID+"',";
insertStr=insertStr+"('"+gname+"',";
insertStr=insertStr+""+gprice+",";
insertStr=insertStr+""+gnum+",";
insertStr=insertStr+"'"+gmaker+"',";
insertStr=insertStr+"'"+gintro+"')";
在用字符串拼接的方式构建sql语句的时候多拼接了一个小括号……………………