Here a small patch to clob, to handle the case when the field is null.

cheers,
Sergio Moretti

----------------------- CUT HERE
Index: src/org/dbforms/event/datalist/dao/DataSourceJDBC.java
===================================================================
RCS file: /cvsroot/jdbforms/dbforms/src/org/dbforms/event/datalist/dao/DataSourceJDBC.java,v
retrieving revision 1.2
diff -u -r1.2 DataSourceJDBC.java
--- src/org/dbforms/event/datalist/dao/DataSourceJDBC.java 19 Jul 2003 08:52:21 -0000 1.2
+++ src/org/dbforms/event/datalist/dao/DataSourceJDBC.java 21 Jul 2003 15:17:30 -0000
@@ -269,7 +269,10 @@
if (rs.getMetaData().getColumnType(i + 1) == Types.CLOB)
{
Clob tmpObj = (Clob) rs.getObject(i + 1);
- objectRow[i] = tmpObj.getSubString((long) 1, (int) tmpObj.length());
+ if (tmpObj != null)
+ objectRow[i] = tmpObj.getSubString((long) 1, (int) tmpObj.length());
+ else
+ objectRow[i] = null;
}
else
{
@@ -290,7 +293,10 @@
if (rs.getMetaData().getColumnType(i + 1) == Types.CLOB)
{
Clob tmpObj = (Clob) rs.getObject(i + 1);
- objectRow[i] = tmpObj.getSubString((long) 1, (int) tmpObj.length());
+ if (tmpObj != null)
+ objectRow[i] = tmpObj.getSubString((long) 1, (int) tmpObj.length());
+ else
+ objectRow[i] = null;
}
else
{
Index: src/org/dbforms/util/ResultSetVector.java
===================================================================
RCS file: /cvsroot/jdbforms/dbforms/src/org/dbforms/util/ResultSetVector.java,v
retrieving revision 1.9
diff -u -r1.9 ResultSetVector.java
--- src/org/dbforms/util/ResultSetVector.java 19 Jul 2003 08:52:23 -0000 1.9
+++ src/org/dbforms/util/ResultSetVector.java 21 Jul 2003 15:17:36 -0000
@@ -85,8 +85,11 @@
for (int i = 0; i < columns; i++) {
if (rs.getMetaData().getColumnType(i + 1) == Types.CLOB) {
Clob tmpObj = (Clob) rs.getObject(i + 1);
- objectRow[i] =
- tmpObj.getSubString((long) 1, (int) tmpObj.length());
+ if (tmpObj != null)
+ objectRow[i] =
+ tmpObj.getSubString((long) 1, (int) tmpObj.length());
+ else
+ objectRow[i] = null;
} else {
Object tmpObj = rs.getObject(i + 1);
objectRow[i] = tmpObj;
----------------------------- CUT HERE --------------------------
Index: src/org/dbforms/event/datalist/dao/DataSourceJDBC.java
===================================================================
RCS file: 
/cvsroot/jdbforms/dbforms/src/org/dbforms/event/datalist/dao/DataSourceJDBC.java,v
retrieving revision 1.2
diff -u -r1.2 DataSourceJDBC.java
--- src/org/dbforms/event/datalist/dao/DataSourceJDBC.java      19 Jul 2003 08:52:21 
-0000      1.2
+++ src/org/dbforms/event/datalist/dao/DataSourceJDBC.java      21 Jul 2003 15:17:30 
-0000
@@ -269,7 +269,10 @@
          if (rs.getMetaData().getColumnType(i + 1) == Types.CLOB)
          {
             Clob tmpObj = (Clob) rs.getObject(i + 1);
-            objectRow[i] = tmpObj.getSubString((long) 1, (int) tmpObj.length());
+                       if (tmpObj != null)
+                               objectRow[i] = tmpObj.getSubString((long) 1, (int) 
tmpObj.length());
+                       else
+                               objectRow[i] = null;
          }
          else
          {
@@ -290,7 +293,10 @@
          if (rs.getMetaData().getColumnType(i + 1) == Types.CLOB)
          {
             Clob tmpObj = (Clob) rs.getObject(i + 1);
-            objectRow[i] = tmpObj.getSubString((long) 1, (int) tmpObj.length());
+            if (tmpObj != null)
+               objectRow[i] = tmpObj.getSubString((long) 1, (int) tmpObj.length());
+            else
+               objectRow[i] = null;
          }
          else
          {
Index: src/org/dbforms/util/ResultSetVector.java
===================================================================
RCS file: /cvsroot/jdbforms/dbforms/src/org/dbforms/util/ResultSetVector.java,v
retrieving revision 1.9
diff -u -r1.9 ResultSetVector.java
--- src/org/dbforms/util/ResultSetVector.java   19 Jul 2003 08:52:23 -0000      1.9
+++ src/org/dbforms/util/ResultSetVector.java   21 Jul 2003 15:17:36 -0000
@@ -85,8 +85,11 @@
             for (int i = 0; i < columns; i++) {
                if (rs.getMetaData().getColumnType(i + 1) == Types.CLOB) {
                   Clob tmpObj = (Clob) rs.getObject(i + 1);
-                  objectRow[i] =
-                     tmpObj.getSubString((long) 1, (int) tmpObj.length());
+                  if (tmpObj != null)
+                       objectRow[i] =
+                        tmpObj.getSubString((long) 1, (int) tmpObj.length());
+                  else
+                       objectRow[i] = null; 
                } else {
                   Object tmpObj = rs.getObject(i + 1);
                   objectRow[i] = tmpObj;

Reply via email to