[cvs] expresso commit by rauld: Fixed issue when using Character Long Object

JCorporate Ltd jcorp at jcorporate.com
Mon Jan 17 17:08:08 UTC 2005


Log Message:
-----------
Fixed issue when using Character Long Object Type. Contributed by Yves Henri Amaizo

Modified Files:
--------------
    expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/jdbc:
        JDBCExecutor.java

Revision Data
-------------
Index: JDBCExecutor.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/jdbc/JDBCExecutor.java,v
retrieving revision 1.64
retrieving revision 1.65
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/jdbc/JDBCExecutor.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/jdbc/JDBCExecutor.java -u -r1.64 -r1.65
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/jdbc/JDBCExecutor.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/jdbc/JDBCExecutor.java
@@ -733,15 +733,27 @@
                                     lobFieldType = new ArrayList();
                                 }
                                 Object tmpData = valueObject.get(oneField.getName());
+                                String data;
                                 //
-                                //todo FIXME allow for appropriate support of other data types.
+                                //FIXME allow for appropriate support of other data types.
                                 //
+                                if (tmpData == null) {
+                                    data = null;
+                                } else if (tmpData instanceof String) {
+                                    data = (String) tmpData;
+                                } else {
+                                    data = tmpData.toString();
+                                }
 
-                                lobUpdates.add(tmpData);
-                                lobFieldOrder.add(oneFieldName);
-                                lobFieldType.add(oneField.getTypeString());
+                                if (data != null || data.length() != 0) {
+                                    lobUpdates.add(tmpData);
+                                    lobFieldOrder.add(oneFieldName);
+                                    lobFieldType.add(oneField.getTypeString());
 
-                                sqlCommand.append("?");
+                                    sqlCommand.append("?");
+                                } else {
+                                    sqlCommand.append("null");
+                                }
 
                             } else {
                                 sqlCommand.append(theObject.quoteIfNeeded(oneField.getName(),


More information about the cvs mailing list