我先把数据库贴一下
create table login(
username varchar(10) primary key not null,
password varchar(16) not null,
age varchar(10) not null,
sex varchar2(10) not null,
brithday varchar(30) not null,
phone number(18) not null
)
然后是java代码:
package com.jstgx.struts;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import java.*;
import java.sql.*;
import java.io.PrintWriter;public class LoggingAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
// TODO 自动生成方法存根
LoggingActionForm lac = (LoggingActionForm) form;
String username = lac.getUsername();
String password = lac.getPassword();
String age = lac.getAge();
String sex=lac.getSex();
String brithday=lac.getBrithday();
String phone=lac.getPhone();
DBConnection dbconn = new DBConnection();
String sql = "insert into login values(?,?,?,?,?,?)";
Connection conn = dbconn.getConnection();
String result = "false";
PreparedStatement pstat = null;
try {
pstat = conn.prepareStatement(sql);
pstat.setString(1, username);
System.out.println(lac.getUsername());
pstat.setString(2, password);
System.out.println(lac.getPassword());
pstat.setString(3, age);
System.out.println(lac.getAge());
pstat.setString(4, sex);
System.out.println(lac.getSex());
pstat.setString(5, brithday);
System.out.println(lac.getBrithday());
pstat.setString(6, phone);
System.out.println(lac.getPhone());
pstat.execute();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
request.setAttribute("username", username);
return mapping.findForward("success");
}
}
运行之后:在页面里输入了信息。
就报java.sql.SQLException: ORA-00913: 值过多
错误行数是:pstat.execute();
在网页里输入的信息全部能取到。LoggingActionForm经检查无错。也是6个字段名。
该如何修改呢?
create table login(
username varchar(10) primary key not null,
password varchar(16) not null,
age varchar(10) not null,
sex varchar2(10) not null,
brithday varchar(30) not null,
phone number(18) not null
)
然后是java代码:
package com.jstgx.struts;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import java.*;
import java.sql.*;
import java.io.PrintWriter;public class LoggingAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
// TODO 自动生成方法存根
LoggingActionForm lac = (LoggingActionForm) form;
String username = lac.getUsername();
String password = lac.getPassword();
String age = lac.getAge();
String sex=lac.getSex();
String brithday=lac.getBrithday();
String phone=lac.getPhone();
DBConnection dbconn = new DBConnection();
String sql = "insert into login values(?,?,?,?,?,?)";
Connection conn = dbconn.getConnection();
String result = "false";
PreparedStatement pstat = null;
try {
pstat = conn.prepareStatement(sql);
pstat.setString(1, username);
System.out.println(lac.getUsername());
pstat.setString(2, password);
System.out.println(lac.getPassword());
pstat.setString(3, age);
System.out.println(lac.getAge());
pstat.setString(4, sex);
System.out.println(lac.getSex());
pstat.setString(5, brithday);
System.out.println(lac.getBrithday());
pstat.setString(6, phone);
System.out.println(lac.getPhone());
pstat.execute();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
request.setAttribute("username", username);
return mapping.findForward("success");
}
}
运行之后:在页面里输入了信息。
就报java.sql.SQLException: ORA-00913: 值过多
错误行数是:pstat.execute();
在网页里输入的信息全部能取到。LoggingActionForm经检查无错。也是6个字段名。
该如何修改呢?
解决方案 »
- Java SSH框架 ehcache例子 麻烦各位高手教导下
- 后台返回一个List,怎么将其中对象的某字段相加?
- comm-upload 多文件上传重名 文件丢失问题
- spring 和Struct结合问题
- 弹出模态窗口后,点击提交后如何关闭当前的模态窗口?也不要弹出另外的一个页面?
- 怎样配置tomcat5.0 解决找文件路径问题
- 用jxl如何读取excel公式的计算结果
- 选择下拉菜单的某一项时的触发事件是什么
- 300分问一个有关淡入淡出的问题可以另开帖子给分,很急
- 求教使用ssl的具体方法,请各位师傅告诉我!
- JSP问题,报错是我注释里面的内容,还有天理么,求高手解释!
- 网页打印不出log信息
"insert into login(username,password,age,sex,birthday,phone) values(?,?,?,?,?,?)"
应该没问题!