我写的一个下拉列表,传递到本页面时我要获取下拉类表的值时,想把它转化成int型时总是出现异常,就是12行

[复制链接]
查看11 | 回复4 | 2011-1-7 14:44:21 | 显示全部楼层 |阅读模式

书名
完全匹配
不完全匹配


<% String m1=request.getParameter("t11");
String m0=request.getParameter("sel");

intm2=Integer.parseInt(m0);
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){
out.print(e);}

try{
Connection conn=DriverManager.getConnection("jdbc:odbc:shu");
String sql;
if(m2==1)

{sql="Select * From Bookwhere书名='"+m1+"'";}

else

{sql="Select * From Bookwhere书名 like '%"+m1+"%'";}

我写的一个下拉列表,传递到本页面时我要获取下拉类表的值时,想把它转化成int型时总是出现异常,就是12行那。可我下面要用M2的值啊,要是不转为int型,后面if(m2==1)那就出现错误,请各位大虾帮忙看看啊

回复

使用道具 举报

千问 | 2011-1-7 14:44:21 | 显示全部楼层
用if(m2!=null&&m2.equals("1"))来判断 可能传过来来的参数为null呢 转为int自然要出错 或者你用try把转换过程保护起来。。。
回复

使用道具 举报

千问 | 2011-1-7 14:44:21 | 显示全部楼层
你想做联动菜单是吗?给你个参考,主要就是makeshi这个函数,onchange里传递所选中的值,然后根据该值来判断显示数组里的值,关键就在这行for(j=0;j<diqul[x].length;j++){//这个循环是填充下拉列表 shi.options[j]=new Option(diqul[x][j].text,diqul[x][j].v
回复

使用道具 举报

千问 | 2011-1-7 14:44:21 | 显示全部楼层
"1".equals(m2);就可以了,不是非要用m2==1来判断,所以前面转换成int型的语句可以去掉。 这里注意最好把"1"写在前面,这样就可以避免出现空指针异常了。
回复

使用道具 举报

千问 | 2011-1-7 14:44:21 | 显示全部楼层
你为什么非要用整形判断呢?直接用字符串判断不行吗?if(m2.equals("1"))。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行