Enumeration pNames=request.getParameterNames();

while(pNames.hasMoreElements())
{
itemName = (String)pNames.nextElement();
itemValue = request.getParameter(itemName);
}
request.getParameterNames();是有什么作用呢?是不是能够获取相应name下的value值?
这样提交表单的时候,name下的值都可以传进数据库,可是当执行下面的代码的时候,则只能传时间,而其他类型的值不能传过来,要是屏蔽//java.sql.Date date = java.sql.Date.valueOf(itemValue.substring(0, 10));  
    //rs.updateDate(itemName,date);的话,就正常,不知道哪里出错了
if( typeName.equalsIgnoreCase("DATE") )//如果为日期型
{//转换字符串为日期类型
java.sql.Date date = java.sql.Date.valueOf(itemValue.substring(0, 10));  
rs.updateDate(itemName,date);
}

解决方案 »

  1.   

    itemName,itemValue值打印出来:
    SELLINGTERMINATEDATE,2010年07月15日`````
    keyWord,ID`````
    CHARGEPERSONCODE,`````
    CHARGEPERSONCODE,----CHAR
    MANAGERCODE,`````
    MANAGERCODE,----CHAR
    USERNAME,周俊晖`````
    MANAGERAPPROVEDATE,`````
    tblName,TDJY_BASICINFO```````
    LANDUSE,公共建筑用地`````
    OWNERSHIPPROPERTY,私有`````
    SHAREUSEBUILDINGAREA,1111.0`````
    OWNERSHIPSOURCE,2`````
    keyValue,6`````
    bsy,保存`````
    LANDLOCATION,怡宝东区`````
    DIRECTORAPPROVEDATE,`````
    PROJECTNAME,林吉祥``````
    LEGALREPRESENTATIVE,李光耀`````
    略去一部分字段而不屏蔽上述两个语句的话
    itemName,itemValue则只能传递
    SELLINGTERMINATEDATE,2010年07月15日`````
    其他的都没有了,很奇怪
      

  2.   

    itemName,itemValue值打印出来:
    SELLINGTERMINATEDATE,2010年07月15日`````
    keyWord,ID`````
    CHARGEPERSONCODE,`````
    MANAGERCODE,`````
    USERNAME,周俊晖`````
    MANAGERAPPROVEDATE,`````
    tblName,TDJY_BASICINFO```````
    LANDUSE,公共建筑用地`````
    OWNERSHIPPROPERTY,私有`````
    SHAREUSEBUILDINGAREA,1111.0`````
    OWNERSHIPSOURCE,2`````
    keyValue,6`````
    bsy,保存`````
    LANDLOCATION,怡宝东区`````
    DIRECTORAPPROVEDATE,`````
    PROJECTNAME,林吉祥``````
    LEGALREPRESENTATIVE,李光耀`````
    略去一部分字段而不屏蔽上述两个语句的话
    itemName,itemValue则只能传递
    SELLINGTERMINATEDATE,2010年07月15日`````
    其他的都没有了,很奇怪
      

  3.   

    LZ是不是有什么异常,看你的描述,应该是有个异常出来再而且itemValue.substring(0, 10),2010年07月15日,日期是这个,如果拿10,好象只到1呢
      

  4.   

    else if( typeName.equalsIgnoreCase("DATE") )//如果为日期型
     {//转换字符串为日期类型
        System.out.println(itemName+","+itemValue+"----DATE");
        java.sql.Date date = java.sql.Date.valueOf(itemValue.substring(0, 10));  
        System.out.println(itemValue.substring(0, 10)+"-@-@-@-@-");
        rs.updateDate(itemName,date);
      }
    打印输出:
    SELLINGTERMINATEDATE,2010-07-30 10:40:31----DATE
    2010-07-30-@-@-@-@-
      

  5.   

    怎么日期格式有时候是"2010-07-30 10:40:31"这样的,有时候又是"2010年07月15日"这样的?所以问题应该出在这里,而你处理时只是针对了一种情况 java.sql.Date date = java.sql.Date.valueOf(itemValue.substring(0, 10));所以肯定是在这里跑出了异常,导致下边的无法进行!