首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

●困擾多天的一個比較郁悶的jsp查詢問題●在線等,该怎么处理

2012-01-19 
●●●●●困擾多天的一個比較郁悶的jsp查詢問題●急急●在線等jsp內容如下:%StringGuanLiNorequest.getParamet

●●●●●困擾多天的一個比較郁悶的jsp查詢問題●急急●在線等
jsp內容如下:
<%
    String   GuanLiNo   =   request.getParameter( "GuanLiNo ");
    String   Projectname   =   request.getParameter( "Projectname ");
    String   PartNo   =   request.getParameter( "PartNo ");

String   sql= "select   top   5*   from   PartPress     where   1=1   ";
if(GuanLiNo   !=null)
{
        sql=sql+ "and   GuanLiNo= ' "+GuanLiNo+ " ' ";
}
if(Projectname!=null)
{
        sql=sql+ "and   Projectname= ' "+Projectname+ " ' ";
}
if(PartNo!=null)
{
        sql=sql+ "and   PartNo= ' "+PartNo+ " ' ";
}
ResultSet   rs   =   jb.query(sql);
  %>
是實現3個條件的任意組合。
可是每次運行後直接就顯示數據了(等同於就直接跑了String   sql= "select   top   5*   from   PartPress     where   1=1   ";這條語句),
後面的if語句沒有執行。請問這是為什麼?請大家幫忙解答。多謝。

[解决办法]
String GuanLiNo = request.getParameter( "GuanLiNo ");
String Projectname = request.getParameter( "Projectname ");
String PartNo = request.getParameter( "PartNo ");
是不是没有得到这三个变量的值啊
[解决办法]
IF语句美执行说明Projectname,PartNo,GuanLiNo 都为空
[解决办法]
应该这样写吧!!
String GuanLiNo =(String) request.getParameter( "GuanLiNo ");
…………
…………
[解决办法]
<%
String GuanLiNo = request.getParameter( "GuanLiNo ");
String Projectname = request.getParameter( "Projectname ");
String PartNo = request.getParameter( "PartNo ");
//out.println(GuanLiNo + "/ " + Projectname + "/ " +PartNo );添加看看有结果没
String sql= "select top 5* from PartPress where 1=1 ";
if(GuanLiNo !=null)
{
//out.println( "1 ");
sql=sql+ "and GuanLiNo= ' "+GuanLiNo+ " ' ";
}
if(Projectname!=null)
{
//out.println( "2 ");
sql=sql+ "and Projectname= ' "+Projectname+ " ' ";
}
if(PartNo!=null)
{
//out.println( "3 ");
sql=sql+ "and PartNo= ' "+PartNo+ " ' ";
}
ResultSet rs = jb.query(sql);
%>
添加注释部分,看看执行结果
[解决办法]
String sql= "select top 5* from PartPress where ";
if(GuanLiNo !=null)
{
sql=sql+ " GuanLiNo= ' "+GuanLiNo+ " ' ";
}
if(Projectname!=null)
{
sql=sql+ " Projectname= ' "+Projectname+ " ' ";
}
if(PartNo!=null)
{
sql=sql+ " PartNo= ' "+PartNo+ " ' ";
}
if(GuanLiNo ==null&&Projectname==null&&PartNo==null)
String sql= "select top 5* from PartPress ";
ResultSet rs = jb.query(sql);
试试看,也许能行
[解决办法]
String GuanLiNo =(String) request.getParameter( "GuanLiNo ");中的变量大小写没错吧
如果没错的话
在if的最会加以个else{
out.ptint(GuanLiNo,Projectname,PartNo);


}
看看输出什么阿?是否有值啊!


[解决办法]
<%
String GuanLiNo = request.getParameter( "GuanLiNo ");
String Projectname = request.getParameter( "Projectname ");
String PartNo = request.getParameter( "PartNo ");

String sql= "select top 5* from PartPress where 1=1 ";
if(null != GuanLiNo){
sql += " and GuanLiNo= ' "+GuanLiNo+ " ' ";
}else{
out.println( "请看一看此处能否执行了,如果执行了说明GuanLiNo没有得到! ");
}
if(null != Projectname){
sql += " and Projectname= ' "+Projectname+ " ' ";
}
if(null != PartNo){
sql += " and PartNo= ' "+PartNo+ " ' ";
}
ResultSet rs = jb.query(sql);
%>
[解决办法]
条件应该这么写

if(GuanLiNo !=null && !GuanLiNo.equals( " "))
{
sql=sql+ "and GuanLiNo= ' "+GuanLiNo+ " ' ";
}

[解决办法]
应该这样写吧!!
String GuanLiNo =(String) request.getParameter( "GuanLiNo ");


---------------------------------

这个说的也对 你试试
[解决办法]
<%
String GuanLiNo = request.getParameter( "GuanLiNo ");
String Projectname = request.getParameter( "Projectname ");
String PartNo = request.getParameter( "PartNo ");

String sql= "select top 5* from PartPress where 1=1 ";
if(GuanLiNo !=null)
{
sql=sql+ "and GuanLiNo= ' "+GuanLiNo+ " ' ";
}
if(Projectname!=null)
{
sql=sql+ "and Projectname= ' "+Projectname+ " ' ";
}
if(PartNo!=null)
{
sql=sql+ "and PartNo= ' "+PartNo+ " ' ";
}
ResultSet rs = jb.query(sql);
%>
注意sql语句的空格,如果两个单词连接起来了就会出问题,细致一点就行了
[解决办法]
<%
String GuanLiNo = request.getParameter( "GuanLiNo ");
String Projectname = request.getParameter( "Projectname ");
String PartNo = request.getParameter( "PartNo ");

String sql= "select top 5* from PartPress where 1=1 ";
if(!GuanLiNo.equals( "null "))
{
sql=sql+ "and GuanLiNo= ' "+GuanLiNo+ " ' ";
}
if(!Projectname.equals( "null "))
{
sql=sql+ "and Projectname= ' "+Projectname+ " ' ";
}
if(!PartNo.equals( "null "))
{
sql=sql+ "and PartNo= ' "+PartNo+ " ' ";
}
ResultSet rs = jb.query(sql);
%>

--------------------------------

PartNo.equals( "null ")) 这个算什么 真搞笑。。

[解决办法]
1.你自己把GuanLiNo,PartNo,Projectname的值打印出来看看.
2.还有String类型的应该象这样验证吧,还有 " "的情况
if(null!=GuanLiNo && 0!=GuanLiNo.trim().length()){
//执行的
}
3.sql语句自己在sql开发工具上调试成功后在放在java代码里.

热点排行