第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

關(guān)于Parameter index out of range (0 < 1 ).異常,通常是哪里出錯(cuò)了?

關(guān)于Parameter index out of range (0 < 1 ).異常,通常是哪里出錯(cuò)了?

Change___ 2016-06-20 10:50:01
public int doAdd(HeroBean hero) throws Exception { ?int rs=0; ? ?List list=new ArrayList(); ? StringBuilder sb1=new StringBuilder("insert into hero(name,"); ? StringBuilder sb2=new StringBuilder("values(?,"); ? if(hero.getName()!=null&&hero.getName().length()>0){ ? list.add(hero.getName()); ?? ? } ? if(hero.getSex()!=null){ ? sb1.append("sex,"); ? sb2.append("?,"); ? list.add(hero.getSex()); ? } ? if(hero.getType1()!=null){ ? sb1.append("type1,"); ? sb2.append("?,"); ? list.add(hero.getType1()); ? } ?sb1.deleteCharAt(sb1.length()-1); ?sb2.deleteCharAt(sb2.length()-1); ?sb2.append(")"); ?sb1.append(")"); ?String sql=sb1.append(sb2).toString(); ? ?try{ ?PreparedStatement psmt=null; ?conn=db.getConn(); ?psmt=conn.prepareStatement(sql); ?for(int i=0;i<list.size();i++){ ?psmt.setObject(i,list.get(i)); ?} ? rs=psmt.executeUpdate(); ?psmt.close(); ? ?}catch(Exception e){ ?throw e; ?}finally{ ?if(conn!=null){ ?conn.close(); ?} ? ? ?} return rs;}這是我的代碼,檢查不出哪里錯(cuò)了,是JDBC連接的問題。
查看完整描述

1 回答

已采納
?
綠洲仙人球

TA貢獻(xiàn)39條經(jīng)驗(yàn) 獲得超47個(gè)贊

看提示應(yīng)該是調(diào)用越界問題,分析代碼的邏輯,如果傳入的hero對(duì)象的值都為空,那么sql語句為

insert into hero(name) values(?)

但是list中并沒有name的值,導(dǎo)致?沒有賦值,執(zhí)行的時(shí)候肯定會(huì)報(bào)錯(cuò)啦

建議修改代碼邏輯,動(dòng)態(tài)的去拼接sql中的字段值和value值,insert into hero 可以作為靜態(tài)的,最后在拼接


查看完整回答
1 反對(duì) 回復(fù) 2016-06-20
  • Change___
    Change___
    我在測(cè)試類里面給name,sex,type1都賦了值,用hero.setName("***");賦的值,是邏輯有問題嗎?
  • 綠洲仙人球
    綠洲仙人球
    建議你把最后的sql和list都打印出來,應(yīng)該是?和賦值的個(gè)數(shù)不匹配,這樣一對(duì)比就明顯了
  • 1 回答
  • 0 關(guān)注
  • 2095 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)