亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

jdbc相關問題

?? ???? Map<String, Object> param = new HashMap<String, Object>();
?? ??? ?param.put("name", "godname");
?? ??? ?param.put("rela", "like");
?? ??? ?String str = "小美";
?? ??? ?param.put("value", str);

為什么這樣寫會出現錯誤???

正在回答

4 回答

if(params!=null&&params.size()>0){
			for?(int?i?=?0;?i?<?params.size();?i++)?{
				Map<String,?Object>?map=params.get(i);
				sb.append("?and??"+map.get("name")+"?"+map.get("rela")+"?"+?+"?");
			}
		}
		
		PreparedStatement?ptmt=conn.prepareStatement(sb.toString());
		ptmt.setString(5,?map.get("value"));

在之前寫map.get("value")的地方,換成'?',然后使用

ptmt.setString(5,?map.get("value"));

對'?'位置進行賦值

0 回復 有任何疑惑可以回復我~
#1

靜以修身淡以明志 提問者

非常感謝!
2016-03-26 回復 有任何疑惑可以回復我~
ptmt.setString(1,?map.get("value"));

這里應該是1哈,剛才回復的代碼里是5,那個復制的,忘記改了

0 回復 有任何疑惑可以回復我~

?param.put("name", "godname");
?? ??? ?param.put("rela", "like");
?? ??? ?String str = "小美";
?? ??? ?param.put("value", str);

構造出來的條件是 ?:godname?like?小美????這里小美是字符串,所以要用單引號。

你說param.put("value","'小美'")沒錯是因為這里面已經用單引號引起來了。去掉一樣會報錯。

0 回復 有任何疑惑可以回復我~
#1

靜以修身淡以明志 提問者

那如果是需要用戶輸入姓名查詢,如何來寫代碼呢?(如果每次都需要用輸入單引號會很麻煩),最近在糾結這個問題,希望可以幫我解決一下,謝謝哈?。?!
2016-03-25 回復 有任何疑惑可以回復我~

這個代碼我試了,沒報錯啊。你說的錯誤是什么內容,方便貼出來么

0 回復 有任何疑惑可以回復我~
#1

靜以修身淡以明志 提問者

Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: 列名 '小美' 無效。 at com.gdin.dao.GoddessDao.query(GoddessDao.java:178) at com.gdin.action.ActionExample.main(ActionExample.java:56) 這是錯誤?。?!
2016-03-25 回復 有任何疑惑可以回復我~
#2

靜以修身淡以明志 提問者

如果我這樣寫param.put("value","'小美'")就沒錯。
2016-03-25 回復 有任何疑惑可以回復我~
#3

醬油fight 回復 靜以修身淡以明志 提問者

String str = "小美"; 改成 String str = "'小美'";就是雙引號里的小美再加一個單引號
2016-03-25 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JDBC之 “ 對岸的女孩看過來”
  • 參與學習       99328    人
  • 解答問題       915    個

一起領略JDBC的奧秘,為進一步學習集成框架打下良好的基礎

進入課程

jdbc相關問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號