200分,<sql:param 如何传null值进去??
其实很简单的一个问题:
<sql:query var="bugItems" dataSource="jdbc/RD">
SELECT * FROM taskInfo where BugNo=?
<sql:param value="${param.BugNo}" />
</sql:query>
我想实现当${param.BugNo}为空字串""时,传进去的是null,如何实现。
以前问过一次,没有解决.
尽量用EL来实现,thanks!
问题点数:200、回复次数:14Top
1 楼icy_csdn()回复于 2004-08-04 10:10:18 得分 32
这可能不行吧,条件为NULL时,判断可不能用where BugNo=NULL
而应该使用 WHERE (BugNo IS NULL)
SQL语句不一样,所以先判断一下。Top
2 楼fanciex(http://BugOnline.net 在线的Bug管理系统)回复于 2004-08-04 10:23:02 得分 0
sorry,我举个update的例子好了:
<sql:update var="updateTaskInfo" dataSource="jdbc/RD">
Update taskInfo set foreStartDate=? where BugNo=?
<sql:param value="${param.foreStartDate}"/>
<sql:param value="${param.BugNo}"/>
</sql:update>
---
如何把foreStartDate设为null
Top
3 楼liujiansxcd(黑客精神)回复于 2004-08-04 10:36:11 得分 32
试试这样可以吗:
<sql:update var="updateTaskInfo" dataSource="jdbc/RD">
Update taskInfo set foreStartDate=? where BugNo=?
if(null!=param.foreStartDatel)
<sql:param value="${param.foreStartDate}"/>
else
<sql:param value=null/>
<sql:param value="${param.BugNo}"/>
</sql:update>
Top
4 楼fanciex(http://BugOnline.net 在线的Bug管理系统)回复于 2004-08-04 14:09:57 得分 0
to liujiansxcd(hacker):
<sql:param value=null/>---编译都通不过的Top
5 楼liujiansxcd(黑客精神)回复于 2004-08-04 14:36:43 得分 32
给null加上引号试一试!Top
6 楼fanciex(http://BugOnline.net 在线的Bug管理系统)回复于 2004-08-04 15:18:08 得分 0
<sql:param value="${null}"/> 成功了!,但
如何将param.foreStartDate设为null?直接
<c:if test="empty param.foreStartDate">
${param.foreStartDate=null} --不行的
</c:if>
Top
7 楼liujiansxcd(黑客精神)回复于 2004-08-04 15:27:34 得分 32
你先把param.foreStartDate=null,然后再这样
<c:if test="empty param.foreStartDate">
${param.foreStartDate}
</c:if>
可以吗?
Top
8 楼alexlex(Working smarter, not harder)回复于 2004-08-04 15:39:03 得分 61
我想实现当${param.BugNo}为空字串""时,传进去的是null,如何实现。
------------
我想是不可能實現的,因爲java裏面不能傳遞null值的,你傳其他類型進去,肯定會根據類型來判斷,字符串之類就加上',數字才不加,而你現在要求的令他產生 null 這樣一個沒有單引號的字符串,應該是不能實現的,除非有特殊的轉化,比如當字符串為"null"時就產生null而不是'null'
要不你你可以看看原碼,自己加一個:)Top
9 楼icy_csdn()回复于 2004-08-04 15:40:00 得分 3
<sql:update var="updateTaskInfo" dataSource="jdbc/RD">
Update taskInfo set foreStartDate=? where BugNo=?
<c:if test="empty param.foreStartDate">
${param.foreStartDate=null} --不行的
</c:if>
<sql:param value="${param.foreStartDate}"/>
<sql:param value="${param.BugNo}"/>
</sql:update>
Top
10 楼icy_csdn()回复于 2004-08-04 15:42:13 得分 3
不好意思,按错键了,贴错了:)Top
11 楼fanciex(http://BugOnline.net 在线的Bug管理系统)回复于 2004-08-04 17:01:14 得分 0
sql传null已经成功了!,
<sql:param value="${null}"/>
但
<c:if test="empty param.foreStartDate">
<c:set var="${param.foreStartDate}" value="${null}"/> --却不行,估计是<c:set不支持这种写法
</c:if>
如何将param.foreStartDate设为null?Top
12 楼pengpong(网上飘)回复于 2004-08-04 17:07:29 得分 3
upTop
13 楼tomwin(乐天)回复于 2004-08-04 17:13:57 得分 2
大侠请看看这个问题
http://community.csdn.net/Expert/topic/3241/3241778.xml?temp=.4536859Top
14 楼fanciex(http://BugOnline.net 在线的Bug管理系统)回复于 2004-08-05 12:22:39 得分 0
<c:if test="empty param.foreStartDate">
<c:set var="${param.foreStartDate}" value="${null}"/> --却不行,估计是<c:set不支持这种写法
</c:if>
如何将param.foreStartDate设为null?
Top




