我现在把。TXT文件的内容插入到数据库的表里
。TXT文件里的第一行是表里的字段名 
例如我。TXT文件里的第一行内容如下:
USER_ID   USER_NAME  DATE
第2行是要插入的数据
我现在的校验功能只实现一部分
只能校验第一行的字段是否和数据库表里的字段相同 如果不同将不许插入数据
我还想校验一下输入的数据 
例如 USER_ID 的数据不能输入为空
DATA的输入格式必须是YYYY-MM-DD
假如USER_ID的输入为空 则提示USER_ID不能为空
DATE 输入的格式不对 则提示 DATE输入格式不正确
哪位好心人能帮我改一下代码啊 多谢了<%@page contentType="text/html; charset=GBK"%>
<%!
static final int TAB1_LEN=3;
static final int TAB2_LEN=3;static final String TAB1_NAME="T_user";
static final String TAB2_NAME="T_user01";public static String cite(String s)
{
  if(s.length()==0)
  return "NULL";
  if (s.indexOf("'") != -1)
  {
    s=s.replace("'", "''");
  }
  return "'"+s+"'";
}
%>
<html>
<head>
<title>jsp1</title>
</head>
<body bgcolor="#ffffff">
<%
com.c06.MultipartRequest mrequest=new com.c06.MultipartRequest(request);
byte by[]=mrequest.getBytesParameter("file");//获得客户端上传的文件内容
if(by==null)
{
    out.print("无效文件");
    return;
}
String con=new String(by);//校验上传文件名前几个必须与STORER一样
if (!con.startsWith("USER_ID,USER_NAME"))
{
  out.print("上传文件名前几个必须与数据库表字段一样");
}else
{  //保存上传的文件
  java.io.FileWriter fw=new java.io.FileWriter(application.getRealPath("/Receipt.txt"));
  fw.write(con);
  fw.close();
  java.sql.Statement  stmt=null;
  java.sql.Connection   conn=null;
     try{
       /*
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
      String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test";
      String user="sa";
      String password=""; */
      Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
      String url="jdbc:oracle:thin:@172.18.8.8:1521:testcn";
      //orcl为你的数据库的SID
      String user="kerrier";
      String password="kerrier";      conn= java.sql.DriverManager.getConnection(url,user,password);
      stmt=conn.createStatement();
   }catch(Exception e){
      out.print("数据库操作失败!");
      return;
   }finally{
     // stmt.close();
     // conn.close();
   }
java.util.StringTokenizer tokenizer=new   java.util.StringTokenizer(con,"\r\n");
tokenizer.nextToken();
int count=0;
while(tokenizer.hasMoreTokens())
{
  String line=tokenizer.nextToken();
  //以退格字符为分隔点,转为数组
  String split[]=line.split(" ");
  //生成SQL语句
  StringBuffer sql=new StringBuffer(cite(split[0]));  StringBuffer sql2=new StringBuffer(cite(split[TAB1_LEN]));
  for(int index=1;index<split.length;index++)
  {
    if(index<TAB1_LEN)
    sql.append(","+cite(split[index]));
    else
    if(index>TAB1_LEN)
    sql2.append(","+cite(split[index]));
  }
  System.out.println(sql.toString());
  try
  {
    stmt.executeUpdate("INSERT INTO "+TAB1_NAME+" VALUES("+sql.toString()+")");
  }catch(Exception e)
  {
    out.print("行:"+count+" 信息:"+e.getMessage()+"<BR>");
  }
  try
  {
    stmt.executeUpdate("INSERT INTO "+TAB2_NAME+" VALUES("+sql2.toString()+")");
  }catch(Exception e)
  {
    out.print("行:"+count+" 信息:"+e.getMessage()+"<BR>");
  }
  count++;
}
out.print("<h1>总行数:"+count);      stmt.close();
      conn.close();
}
%>
</body>
</html>