<%
  
  String stringSqlString,sumSqlString;   if(Scheckrq.equals("chk_period"))         {

   out.println(Scheckrq);  这里能打印出值来
       stringSqlString="SELECT a.ALARM_TIME, b.SITE_NAME, a.INFECTANT_ID, a.STANDARD_VALUE,a.ACTUAL_VALUE";
               stringSqlString=stringSqlString+" FROM ALARM a LEFT OUTER JOIN T_DIC_SUBSITE b ON a.SITE_ID = b.SITE_ID WHERE (CONVERT(char(10), a.ALARM_TIME, 120) >= '"+scontionstar+"') AND (CONVERT(char(10), a.ALARM_TIME, 120) <= '"+scontionend+"')";
                out.println(stringSqlString); 这里能打印出值来

 }
out.println (stringSqlString);这里就不能了 
%>
错误提示是:
Generated servlet error:
    [javac] Compiling 1 source file
    [javac] D:\jboss3\server\lngprs\work\MainEngine\localhost\_\weblist\searchtjreport_jsp.java:175: variable stringSqlString might not have been initialized
    [javac]    out.println (stringSqlString);
    [javac]                                        ^
    [javac] 1 error让我疑惑 ,为什么呢???????????????????

解决方案 »

  1.   

    variable stringSqlString might not have been initialized恩恩,就是
      

  2.   

    楼上的两位  我
    if(Scheckrq.equals("chk_period")) 在进入这个条件的情况下   才给stringSqlString  值的 ,没有看到啊 按理来说 这个条件进入了,  值也给了 
    怎么到条件外面 就没有信息了 。
      

  3.   

    如果真是那样的话,可能是JSP里定义的作用范围的问题??试下把stringSqlString定义为页面变量看看?
      

  4.   

    如果这个Scheckrq.equals("chk_period")条件不符合,stringSqlString就有可能没有初始化,这个不已经给你提示很清楚了吗?
    将:
    String stringSqlString,sumSqlString; 
    改成
    String stringSqlString=null, sumSqeString=null;
      

  5.   

    如果这个Scheckrq.equals("chk_period")条件不符合,stringSqlString就有可能没有初始化,这个不已经给你提示很清楚了吗?
    将:
    String stringSqlString,sumSqlString; 
    改成
    String stringSqlString=null, sumSqeString=null-----------------------------------------------------------
    同意,这样看来你的代码是想当的不规范
      

  6.   

    谢谢 rehte() 
    你的办法也可以 malligator(大螟) 的办法
    定义为页面变量
    <%! String stringSqlString; %> 
    这样也可以。
    谢谢两位了还有个疑惑就是为什么这样定义不可以呢
    String stringSqlString;
    stringSqlString=null;
    这样就不行  是什么道理呢