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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

確定和老師的代碼一樣,但是報錯

已經(jīng)排查了一小時了,實在是找不出毛病了,一查詢就錯,Parameter index out of range (1 > number of parameters, which is 0).我看也沒少問號啊

public?void?doGet(HttpServletRequest?req,?HttpServletResponse?resp)
			throws?ServletException,?IOException?{
		try?{
			req.setCharacterEncoding("UTF-8");
			String?command?=?req.getParameter("command");
			String?description?=?req.getParameter("description");
			req.setAttribute("command",?command);
			req.setAttribute("description",?description);
			System.out.println(command+description);
			Class.forName("com.mysql.jdbc.Driver");
			Connection?ct?=?DriverManager.getConnection("jdbc:mysql:///wechat?useUnicode=true&characterEncoding=UTF-8",
					"root",?"qxqx");
			StringBuilder?sql?=?new?StringBuilder(
					"select?ID,COMMAND,DESCRIPTION,CONTENT?from?message?where?1=1?");
			PreparedStatement?ps?=?ct.prepareStatement(sql.toString());
			List<String>?paramList?=?new?ArrayList<String>();
			if?(command?!=?null?&&?!"".equals(command.trim()))?{
				sql.append("?and?COMMAND='?'?");
				paramList.add(command);
			}
			if?(description?!=?null?&&?!"".equals(description.trim()))?{
				sql.append("?and?DESCRIPTION?like?'%'???'%'?");
				paramList.add(description);
			}
			for?(int?i?=?0;?i?<?paramList.size();?i++)?{

				ps.setString(i?+?1,?paramList.get(i));
			}
			System.out.println(ps.toString());
			ResultSet?rs?=?ps.executeQuery();
			List<Message>?messageList?=?new?ArrayList<Message>();

			while?(rs.next())?{
				Message?message?=?new?Message();
				//?容器里加入的都是引用,不是對象本身,所以后續(xù)的set方法依然有用
				messageList.add(message);
				message.setId(rs.getString("ID"));
				message.setCommand(rs.getString("COMMAND"));
				message.setDescription(rs.getString("DESCRIPTION"));
				message.setContent(rs.getString("CONTENT"));
			}
			req.setAttribute("messageList",?messageList);
		}?catch?(Exception?e)?{
			//?TODO?Auto-generated?catch?block
			e.printStackTrace();
		}

		req.getRequestDispatcher("/WEB-INF/jsp/back/list.jsp").forward(req,
				resp);
	}

還有一個小問題,為什么doPost()方法用super.doGet(req,resp)會出現(xiàn)405錯誤,用doPost(req,resp)就可以了

==============================分割線===========================================

第一個問題解決了,把PreparedStatement ps = ct.prepareStatement(sql.toString());放到for循環(huán)前一行

正在回答

2 回答

查詢就出錯? 是查詢?nèi)康臄?shù)據(jù)出錯,還是查詢 ?command ?指令出錯,如果是 第一個,我沒看出什么毛病,如果是第二個,你在 20 、 24 打個斷點,我懷疑是?paramList.size() 出了問題 , paramList 數(shù)據(jù)未添加進(jìn)去 ! 查詢下數(shù)據(jù),斷點查看下你的 sql 語句是否出現(xiàn)問題! ?還有最主要: ??PreparedStatement?ps?=?ct.prepareStatement(sql.toString()); ? 你放錯了位置,是放在paramList 添加參數(shù)后面的!

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

JHsssss 提問者

非常感謝!
2016-11-13 回復(fù) 有任何疑惑可以回復(fù)我~
#2

豐子不是瘋子

為什么?不明白為啥換個位置就對了?
2017-05-29 回復(fù) 有任何疑惑可以回復(fù)我~
#3

豐子不是瘋子

好像想明白了,要先加了參數(shù),再預(yù)加載
2017-05-29 回復(fù) 有任何疑惑可以回復(fù)我~

sql.append("?and?COMMAND='?'?");

?問號不要加'' 單引號

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

確定和老師的代碼一樣,但是報錯

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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