怎样将页面表单中的元素存储到数据库当中?

gzg25895381 2010-07-19 02:15:12
我在一个jsp的页面中获得一些用户填写的基本信息,现在想将这些信息插入到数据库中,我写的程序可以执行,也不会报错。但是在数据库中没有出现插入的数据。以下是我的程序代码

<form method = post action =../ReleaseDepend>
<table>
<tr>
<td></td>
<td><input type="text" size = 60 name="Warnning" disabled></input></td>
<td></td>
</tr>
<tr>
<td>顧客名</td>
<td><input type="text" size =40></input></td>
<td><input type=button name="customerName" value="选择" onclick = "alert('you clicked the button');"></input></td>
</tr>
<tr>
<td>产品</td>
<td><select name=productionName size=1>
<option value="香蕉" selected>香蕉</option>
<option value="苹果">苹果</option>
</select></td>
<td></td>
</tr>
<tr>
<td>版本</td>
<td><select name=version size=1>
<option value="赵本山" selected>赵本山</option>
<option value="宋丹丹">"宋丹丹"</option>
</select></td>
<td></td>
</tr>
<tr>
<td>使用次数</td>
<td><input type="text" name = useTimes size =40></input></td>
<td>(个数)</td>
</tr>
<tr>
<td>试用时间</td>
<td><input type="text" name = tryDay size =40></input></td>
<td>(日)</td>
</tr>
<tr>
<td>时间</td>
<td><input type="text" id="ReleaseTime" size =40 disabled >
<script language="JavaScript">
var now = new Date();
ReleaseTime.value = now.getYear() + "-"+(now.getMonth() + 1) + "-"
+ now.getDate();
</script>
</td>
<td></td>
</tr>
<tr>
<td>发行人</td>
<td><input type="text" name=Releaser size =40></input></td>
<td></td>
</tr>
<tr>
<td>备注</td>
<td><textarea name =otherThings cols =40 rows=3></textarea></td>
<td></td>
</tr>
<tr>
<td></td>
<td><input type=submit value="发行"></input>    <input
type=reset value="清空"></input></td>
<td></td>
</tr>
</table>
</form>


上面的这个是jsp页面的代码,下面的这个是servlet的代码,路径配置正确。
import java.io.IOException;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.Service.ConnectionFactory;

public class ReleaseDepend extends HttpServlet {

protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}

protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String customer = request.getParameter("customer");
String productionName = request.getParameter("productionName");
String version = request.getParameter("version");
String useTimes = request.getParameter("useTimes");
String tryDay = request.getParameter("tryDay");
String releaseTime = request.getParameter("releaseTime");
String releaser = request.getParameter("releaser");
String otherThings = request.getParameter("otherThings");

/*
* ReleaseDependModel newReleaseDepend = new ReleaseDependModel();
* newReleaseDepend
* .Doget(customer,productionName,version,useTimes,tryDay
* ,releaseTime,releaser,otherThings); ReleaseDependDao newconnection
* =new ReleaseDependDao() ; newconnection.InsertData();
*/
String sql = "insert into releasedepend(customerName,productionName,version,useTimes,tryDay,releaseDependDay,releaseDepender,otherThings)values('"
+ customer
+ "','"
+ productionName
+ "','"
+ version
+ "','"
+ useTimes
+ "','"
+ tryDay
+ "','"
+ releaseTime
+ "','"
+ releaser + "','" + otherThings + "')";
Connection conn=null;
Statement stmt=null;
ConnectionFactory newconn = new ConnectionFactory();
try{
conn = newconn.getConnection();
}
catch(Exception e){
e.printStackTrace();
}
try{
stmt = conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException e){
e.printStackTrace();
}
/*request.setAttribute("customer", customer);
request.setAttribute("productioName", productionName);
request.setAttribute("version", version);
request.setAttribute("useTimes", useTimes);
request.setAttribute("tryDay", tryDay);
request.getRequestDispatcher("/jsp/ReleaseComplete.jsp").forward(
request, response);*/
}

}
...全文
238 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzg25895381 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 yi4011 的回复:]
做插入时最好在表后吧字段显示的写出来,有多少字段就写多少。像你这样写如果表结构发生变化,程序就会报错。
[/Quote]
哥哥你到底有没有看我的代码啊,我没有写字段么。。。。
yi4011 2010-07-19
  • 打赏
  • 举报
回复
做插入时最好在表后吧字段显示的写出来,有多少字段就写多少。像你这样写如果表结构发生变化,程序就会报错。
chooseforget 2010-07-19
  • 打赏
  • 举报
回复
还有啊。保证数据类型和数据库中的是对应的。日期不能设置成了String了。
chooseforget 2010-07-19
  • 打赏
  • 举报
回复
好像values之前没有空格呀。
[Quote=引用 9 楼 gzg25895381 的回复:]
7楼,你说sql写的有问题,那请问哪个地方有错误啊,应该怎么改啊。
我的数据库中的表是这样的releasedepend(customerName,productionName,version,useTimes,tryDay,releaseDependDay,releaseDepender,otherThings)。
[/Quote]
angel21li 2010-07-19
  • 打赏
  • 举报
回复
你把这条sql语句直接打印出来 看看
watermarkmms 2010-07-19
  • 打赏
  • 举报
回复
你把这条sql语句直接打印出来,复制一下,用客户端执行下,看看有没有错不就知道了啊
insert的基本语法你总知道的吧 insert into tablename values();
liuyuhua0066 2010-07-19
  • 打赏
  • 举报
回复
你用stringbuffer 拼装,ok?
gzg25895381 2010-07-19
  • 打赏
  • 举报
回复
7楼,你说sql写的有问题,那请问哪个地方有错误啊,应该怎么改啊。
我的数据库中的表是这样的releasedepend(customerName,productionName,version,useTimes,tryDay,releaseDependDay,releaseDepender,otherThings)。
liuyuhua0066 2010-07-19
  • 打赏
  • 举报
回复
你输出下你的SQL语句,你的sql拼装的应该不对
wx634200 2010-07-19
  • 打赏
  • 举报
回复
SQL 真的没写对
kuailexiaobuding4 2010-07-19
  • 打赏
  • 举报
回复
调试下。输出下你的参数和sql语句。就知道啦
jkgao801 2010-07-19
  • 打赏
  • 举报
回复
检查 SQL 语句是关键,
主键 插入了没?
gzg25895381 2010-07-19
  • 打赏
  • 举报
回复
用的数据库是mysql感觉语句应该是没问题啊?
lijinlin_love 2010-07-19
  • 打赏
  • 举报
回复
sql 语句不对 啊
liuyuhua0066 2010-07-19
  • 打赏
  • 举报
回复
敢问你用的是哪个数据库?你的SQL语句对吗?insert into tableName() values()
closewbq 2010-07-19
  • 打赏
  • 举报
回复
int result=stmt.executeUpdate(sql);
System.out.println(result);看看是不是1?
如果是的话应该没有问题。

81,094

社区成员

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

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