不知道怎么回事???
<%
String sql;
//sql="select * from staff where NAME like '%" + name + "%'" ;
// sql+=" order by " + order;
// sql+=" "+desc;
//out.print("aaa");
if(find.equals("1"))//精确搜索
{
if(type.equals("1"))//按姓名
{
sql="select * from staff where NAME = '" + name + "'" ;
sql+=" order by " + order;
sql+=" "+desc;
out.print(sql);
}
else if(type.equals("2"))//按部门
{
sql="select * from staff where DEPARTMENT = '" + name + "'" ;
sql+=" order by " + order;
sql+=" "+desc;
out.print(sql);
}
}
else if(find.equals("0"))//模糊搜索
{
if(type.equals("1"))//按姓名
{
sql="select * from staff where NAME like '%" + name + "%'" ;
sql+=" order by " + order;
sql+=" "+desc;
out.print(sql);
}
else if(type.equals("2"))//按部门
{
sql="select * from staff where DEPARTMENT like '%" + name + "%'" ;
sql+=" order by " + order;
sql+=" "+desc;
out.print(sql);
}
}
ResultSet rs;
rs=db.executeQuery(sql);
%>
其中,name、order、desc、find、type都是传参过来的。这段代码注释掉上面那四行,就有错误指向最后一句rs=db.executeQuery(sql);
,说“The local variable sql may not have been initialized”。如果加上就能运行出结果,而且里面那几个if语句也会执行。
这是怎么回事啊?急死了,大家帮下忙~