关于传值的2个问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 17:48:42
首先是String UserNo = request.getParameter("textuserno");
然后 use.setNo(Integer.parseInt(UserNo));
因为在数据库中有个int类型的no字段,可是这样传值是错的,但是从文本框取值是String类型,可是Integer.parseInt类型却是如果Integer.parseInt(UserNo)中UserNo是String类型或者为空就要报异常,请问怎么处理,

问题2
String UserNo=request.getParameter("textuserno");
PreparedStatement st=conn.prepareStatement("insert into users(No,Name,Address) values(?,?,?)");
st.setString(1,UserNo);
这样却对了,可是no字段是int型啊,为什么

1 在第一行后加个判断就OK了
if(UserNo==null)UserNo="";
2 因为用的是SQL语句执行,所以类型同你在查询分析器中查询一样,在查询分析器中,插入数据的时候插入int型时,那个单引号要不要都可以执行,和这里一个道理

1 取值的时候判断值是否为空啥的,如果为空,返回页面让重新输入

2 这个应该是批处理吧,插入的时候都用Object类型的, 应该是经过处理自动匹配的与1的情况不同,1的情况应该是指定了值

判断一下
String UserNo = request.getParameter("textuserno");
if(UserNo==null){
throw 异常,
}