jsp向mysql插入记录的问题

问题描述

jsp向mysql插入记录的问题

通过第一个页面向第二个页面post文本框的值,然后通过第二个页面向数据库添加信息
第一个页面的代码如下 function Judge()
{if(document.form.p_name.value=="")
{window.alert("产品名称不能为空!");document.form.p_name.focus();return false;}
if(document.form.p_type.value=="")
{window.alert("产品类型不能为空!");document.form.p_type.focus();return false;}
}


第二个页面代码为
try {Class.forName("com.mysql.jdbc.Driver");}
catch(Exception e){e.printStackTrace();}
Connection conn;ResultSet rs;Statement stmt;
try
{String database="mydb";
String url="jdbc:mysql://localhost:3306/"+database;
conn=DriverManager.getConnection(url,"root","root");
String name=request.getParameter("p_name");
String type=request.getParameter("p_type");
String detail=request.getParameter("p_detail");
stmt=conn.createStatement();
String sql="insert into product(p_name,p_type,p_detail)values('"+name+"','"+type+"','"+detail+"')";
stmt.executeUpdate(sql);
int i=stmt.executeUpdate(sql);
if(i!=0){out.print("添加成功");response.setHeader("refresh", "2;URL=addproduct2.jsp");}
else{out.print("添加失败");response.setHeader("refresh", "2;URL=addproduct2.jsp");}
}
catch(Exception e){e.printStackTrace();
out.print("

");
e.printStackTrace(new java.io.PrintWriter(out));
out.print("

");}

%>

为啥输入产品123 类型123会向数据库中添加两条一模一样的记录呢,问题出在哪里

产品名称
产品类型
产品详情
产品图片

解决方案

http://www.debugease.com/javaweb/911083.html 看看是不是这个问题

解决方案二:

求大虾解答啊。。。。。不胜感激T T

时间: 2024-08-30 21:34:09

jsp向mysql插入记录的问题的相关文章

Mysql 插入记录 instert语句详解

Mysql 语句之 插入记录 instert 单行插入  代码如下 复制代码 insert into 表名(字段名,字段名, - ) values( 字段值,字段值,-); insert into A(A_e,A_f,A_a) values('字符',10,01); 多行插入  代码如下 复制代码 insert into 表名 values( 字段值,字段值,-),( 字段值,字段值,-); insert into A values('字符',10,01),('字符',10,01);   插入记

Mysql插入记录后返回该记录ID

  最近和Sobin在做一个精品课程的项目,因为用到一个固定的id作为表间关联,所以在前一个表插入数据后要把插入数据生成的自增id传递给下一个表.研究了一番决定使用Mysql提供了一个LAST_INSERT_ID()的函数. liehuo.net LAST_INSERT_ID() (with no argument) returns the first automatically generated value that was set for an AUTO_INCREMENT column

MYSQL教程:主表中插入记录从表获取ID

在MySQL中,使用auto_increment类型的id字段作为表的主键,并用它作为其他表的外键,形成"主从表结构",这是数据库设计中常见的用法.但是在具体生成id的时候,我们的操作顺序一般是:先在主表中插入记录,然后获得自动生成的id,以它为基础插入从表的记录.这里面有个困难,就是插入主表记录后,如何获得它对应的id.通常的做法,是通过"select max(id) from tablename"的做法,但是显然这种做法需要考虑并发的情况,需要在事务中对主表加以

jsp连接MySQL实现插入insert操作功能示例

本文将为大家展示下jsp连接MySQL执行插入操作的功能,具体的示例及代码如下,感兴趣的朋友可以了解下   下午终于实现了jsp连接MySQL执行插入操作的功能.在index.jsp页面输入数据,提交到mysql--insert.jsp页面进行插入数据库的操作.   index.jsp页面代码如下: 复制代码 代码如下: <%@ page language="java" pageEncoding="utf-8"%> <%@ page content

jsp连接MySQL实现插入insert操作功能示例_JSP编程

下午终于实现了jsp连接MySQL执行插入操作的功能.在index.jsp页面输入数据,提交到mysql--insert.jsp页面进行插入数据库的操作.  index.jsp页面代码如下: 复制代码 代码如下: <%@ page language="java" pageEncoding="utf-8"%> <%@ page contentType="text/html;charset=utf-8"%>  <%   

MySQL避免重复插入记录方法总结

MySQL 当记录不存在时插入,当记录存在时更新 网上基本有三种解决方法. 第一种: 示例一:插入多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句: INSERT INTO clients (client_id, client_name, client_type) SELECT supplier_id, supplier_name, 'advertising' FROM suppliers WHERE not exists (select * from

一条mysql 存在该记录则更新,不存在则插入记录的sql

一条mysql教程 存在该记录则更新,不存在则插入记录的sql INSERT table (auto_id, auto_name) values (1, 'yourname') ON DUPLICATE KEY UPDATE auto_name='yourname' ON DUPLICATE KEY UPDATE的使用 如果您指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行UPDATE.例如,如果列a被

MySql避免重复插入记录的几种方法_Mysql

方案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用: 复制代码 代码如下:  INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test9@163.com', '99999', '9999');   这样当有重复记录就会忽略,执行后返回数字0 还有个应用就是复制表,避免重复记录: 复制代码 代码如下:  INSERT IGNORE

MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)

案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用:  代码如下 复制代码 1 INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test9@163.com', '99999', '9999'); 这样当有重复记录就会忽略,执行后返回数字0 还有个应用就是复制表,避免重复记录:  代码如下 复制代码 1 INSERT IGNORE