急急急急急急急!!为什么我查出来的值为空的时候就会报错。怎么判断是否为空 急

zjg81883340 2012-05-11 05:26:11
public String getCarType(String carNbr,String gyosyaCode) throws Exception{

// Hibernateのキャッシュ対象
Session session = null;
String carType ;
try{
// キャッシュ対象の初期化
session = this.getSession();

// SQL文を作成
StringBuffer selSql = new StringBuffer();
selSql.append(" SELECT \n");
selSql.append(" CAR_TYPE \n");
selSql.append(" FROM \n");
selSql.append(" ADDN_CAR \n");
selSql.append(" WHERE \n");
selSql.append(" DELETE_FLG <> '1' \n");
// 検索条件(車番)が空でない場合
if(carNbr != null && !"".equals(carNbr.trim())){
selSql.append(" and CAR_NBR = '" + carNbr + "' \n");
}
// 検索条件(運送業者コード)が空でない場合
if(gyosyaCode != null && !"".equals(gyosyaCode.trim())){
selSql.append(" and GYOSYA_CODE = '" + gyosyaCode + "' \n");
}

// データベースからデータを取得
SQLQuery query = session.createSQLQuery(selSql.toString());

// 幹線配送料金一覧検索の合計カウントを取得
carType = (query.list().get(0)).toString();

}catch(HibernateException e){
e.printStackTrace();
throw e;
}finally{
// 釈放キャッシュ
this.releaseSession(session);
}
// 結果を返す
return carType;
}


在执行到carType = (query.list().get(0)).toString();时候如果没有数据就会报错
...全文
60 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hugo000002020 2012-05-11
  • 打赏
  • 举报
回复

String carType = (query.list()!=null && query.list().size()>0)?query.list().get(0).toString():"";
绝世酱油瓶 2012-05-11
  • 打赏
  • 举报
回复
carType = (query.list().get(0)).toString();
这里get时肯定要判断一下的、LS正解
不过我习惯了用三目运算符
llbupt 2012-05-11
  • 打赏
  • 举报
回复
如果list为空,你再get(0)肯定会出错啊。这样改一下:
List list = query.list();
if(list ==null || list.size == 0){
你的逻辑;
}else{
carType = list.get(0).toString();
}

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧