tomcat-taglibs-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Derek Mahar" <DMa...@penson.ca>
Subject [JSTL] How do I enter a null value with <sql:param>?
Date Tue, 18 May 2004 22:28:59 GMT
How do I enter a null value into a table column with <sql:param>?  The
JSTL 1.1 specification states for <sql:param> that, "If value is null,
the parameter is set to the SQL value NULL."  However, no matter what
value I pass to <sql:param>, I'm unable to set a null column:

Case 1: Set value to undefined variable
<sql:update>
  INSERT INTO tblTest(a) VALUES (?)
  <sql:param value="${nullValue}"/>
</sql:update>

Output:
javax.servlet.ServletException: javax.servlet.jsp.JspException: 
  INSERT INTO tblTest(a) VALUES (?)
: [Microsoft][SQLServer 2000 Driver for JDBC]The specified SQL type is
not supported by this driver.

Case 2: Set value to "null"
<c:set var="nullValue" value="null"/>
<sql:update>
  INSERT INTO tblTest(a) VALUES (?)
  <sql:param value="${nullValue}"/>
</sql:update>

Output:
javax.servlet.ServletException: javax.servlet.jsp.JspException: 
  INSERT INTO tblTest(a) VALUES (?)
: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Syntax error
converting the nvarchar value 'null' to a column of data type int.

Cast 3: Set value to empty string
<c:set var="nullValue" value=""/>
<sql:update>
  INSERT INTO tblTest(a) VALUES (?)
  <sql:param value="${nullValue}"/>
</sql:update>

Output:
Microsoft SQL Server inserts a new row with column a set to 0.

Any suggestions?

Derek
NOTICE: This email contains privileged and confidential information and is intended only for
the individual to whom it is addressed. If you are not the named addressee, you should not
disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail
if you have received this transmission by mistake and delete this communication from your
system. E-mail transmission cannot be guaranteed to be secured or error-free as information
could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses.


AVIS: Le présent courriel contient des renseignements de nature privilégiée et confidentielle
et n’est destiné qu'à la personne à qui il est adressé. Si vous n’êtes pas le destinataire
prévu, vous êtes par les présentes avisés que toute diffusion, distribution ou reproduction
de cette communication est strictement interdite.  Si vous avez reçu ce courriel par erreur,
veuillez en aviser immédiatement l’expéditeur et le supprimer de votre système. Notez que
la transmission de courriel ne peut en aucun cas être considéré comme inviolable ou exempt
d’erreur puisque les informations qu’il contient pourraient être interceptés, corrompues,
perdues, détruites, arrivées en retard ou incomplètes ou contenir un virus.  

---------------------------------------------------------------------
To unsubscribe, e-mail: taglibs-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: taglibs-user-help@jakarta.apache.org


Mime
View raw message