散发100:JSP中连接Access数据库insert问题 把插入片段代码和sql语句发上来看看,不应该上access的问题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 插入代码如下,使用的Javabean封装的数据库操作,bean代码是被copy烂了的源码:query=query1+"(Salesman_ID,Salesman,Website,Ship_to,Bill_to,Linkman1,Post1,Email1,Tel1,Fax1,Mobile1,Person_Re1,Linkman2,Post2,Email2,Tel2,Fax2,Mobile2,Person_Re2"+query2+") value('"+(String)session.getAttribute("ID")+"','"+(String)session.getAttribute("EName")+"','"+Website+"','"+Ship_to+"','"+Bill_to+"','"+Linkman1+"','"+Post1+"','"+Email1+"','"+Tel1+"','"+Fax1+"','"+Mobile1+"','"+Person_Re1+"','"+Linkman2+"','"+Post2+"','"+Email2+"','"+Tel2+"','"+Fax2+"','"+Mobile2+"','"+Person_Re2+"',"+query3;md.executeInsert(query); md.executeInsert(query);-->md.executeUpdate(query);value-->values 代码不全,我想可以加一条:Connection.commit(); md是你的javabean吗?如果不是,就应该md.executeUpdate(query);还有就是 value --> values 老兄: 你的数值型字段的值写错了吧,好象是"+id+",而不是'"+id+"'。 connection.setAutoCommit(false);md.executeInsert(query);connection.commit();connection.setAutoCommit(true);我试过很多次,许多条插入语句连续执行时,最后一条总是插不进去,不过把最后一条执行两次就行了。 谢谢大家,问题解决了,现在可以插入了。我总结了一下,问题出在4个方面:1、values掉了s;2、Person_Re2后面掉了逗号;3、将(String)session.getAttribute("")换成字符串变量;4、数据表中的字段名不要含有括号;但是现在又出了一个怪问题,那就是如果前一个输入界面没有把所有的插入项填写完整的话就插不进去。简单点说就是10个字段,如果在输入界面中只填写了8个字段就无法将记录插入Access表中,但是如果10个都填写了的话就能插入。这是为什么?另外询问一下String str=request.getParameter("something");中,如果something是文本域且内容为空的话,那么str的值是什么?是""还是null,因为昨天我测试的时候,当一些字段不填时,Access表是可以插入的,只是没有填的那些字段在插入后在表格中显示的是null,但是今天再试的时候不填全就无法插入了,怪哉!!!!!!问题尚未解决,各位高手们请继续up,本人想快点送出这100分。 我想问一在ACESS中才、能实现SQL语句的预处理吗?如果可以的话请帮忙写个例子!! 你是个新手吧, 怎么和我遇到的问题一样,String a = request.getParameter("something");取得是是字符串,如果内容是空,则a的值为null,你可以用a==null;比较语句试一下就知道。但是js中却是"",我一直这样处理的。 //但是现在又出了一个怪问题,那就是如果前一个输入界面没有把所有的插入项填写完整的//话就插不进去。简单点说就是10个字段,如果在输入界面中只填写了8个字段就无法将//记录插入Access表中,但是如果10个都填写了的话就能插入。这是为什么?这是因为你的表中一些字段是不允许为空吧??? 如何将tomcat默认首页直接访问action 写一个循环大虾半个忙 问:java如果得到服务端session中所有用户??? 过滤器如何使用 字符串问题~ 基于JSP+MYSQL+JDBC的报价管理系统开发开始报名 自定义标签 简单问题 看一看,瞧一瞧!servlet.xml怎么改才能访问我的JAVABEANS? 如何用jsp连接oracle73(数据库不在我本机上),求救!!! 求JB8教程 请问各位好心人哪里有好一点的网上投票系统下载
md.executeInsert(query);
-->
md.executeUpdate(query);value
-->
values
加一条:Connection.commit();
还有就是 value --> values
你的数值型字段的值写错了吧,好象是"+id+",而不是'"+id+"'。
md.executeInsert(query);
connection.commit();
connection.setAutoCommit(true);我试过很多次,许多条插入语句连续执行时,最后一条总是插不进去,不过把最后一条执行两次就行了。
我总结了一下,问题出在4个方面:
1、values掉了s;
2、Person_Re2后面掉了逗号;
3、将(String)session.getAttribute("")换成字符串变量;
4、数据表中的字段名不要含有括号;但是现在又出了一个怪问题,那就是如果前一个输入界面没有把所有的插入项填写完整的话就插不进去。简单点说就是10个字段,如果在输入界面中只填写了8个字段就无法将记录插入Access表中,但是如果10个都填写了的话就能插入。这是为什么?另外询问一下String str=request.getParameter("something");中,如果something是文本域且内容为空的话,那么str的值是什么?是""还是null,因为昨天我测试的时候,当一些字段不填时,Access表是可以插入的,只是没有填的那些字段在插入后在表格中显示的是null,但是今天再试的时候不填全就无法插入了,怪哉!!!!!!问题尚未解决,各位高手们请继续up,本人想快点送出这100分。
//话就插不进去。简单点说就是10个字段,如果在输入界面中只填写了8个字段就无法将
//记录插入Access表中,但是如果10个都填写了的话就能插入。这是为什么?这是因为你的表中一些字段是不允许为空吧???