Преглед на файлове

数据库查询新增float字段类型

沈静伟 преди 4 години
родител
ревизия
486378d4da
променени са 2 файла, в които са добавени 27 реда и са изтрити 2 реда
  1. 23 1
      src/dsb/com/cnd3b/common/data/Row.java
  2. 4 1
      src/dsb/com/cnd3b/common/data/db/DBConnect.java

+ 23 - 1
src/dsb/com/cnd3b/common/data/Row.java

@@ -9,6 +9,7 @@ import org.dom4j.Element;
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
 import java.sql.Timestamp;
+import java.text.DecimalFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -48,13 +49,34 @@ public class Row extends HashMap<String, Object> {
         }
     }
 
+    public Float getFloat(String fieldname) {
+        Object object = getValueAsObject(fieldname);
+        if (object != null) {
+            if (object instanceof String) {
+                return Float.parseFloat(object.toString());
+            }
+            if (object instanceof Integer) {
+                return Float.valueOf((Integer) object);
+            }
+            if (object instanceof Long) {
+                return Float.valueOf((Long) object);
+            }
+            return (Float) object;
+        } else {
+            return 0F;
+        }
+    }
+
     public String getString(String fieldname) {
         Object object = getValueAsObject(fieldname);
         if (object == null || java.lang.String.valueOf(object).equalsIgnoreCase("null")) {
             return "";
         } else {
+            if (object instanceof Float || object instanceof Double) {
+                DecimalFormat df = new DecimalFormat("#");
+                return df.format(object);
+            }
             return java.lang.String.valueOf(object);
-
         }
     }
 

+ 4 - 1
src/dsb/com/cnd3b/common/data/db/DBConnect.java

@@ -4,9 +4,9 @@
 package com.cnd3b.common.data.db;
 
 import com.cnd3b.common.BaseClass;
+import com.cnd3b.common.data.Row;
 import com.cnd3b.common.data.Rows;
 import com.cnd3b.common.data.SQLFactory;
-import com.cnd3b.common.data.Row;
 import p2.p2server.P2Server;
 
 import java.sql.*;
@@ -110,6 +110,9 @@ public class DBConnect extends BaseClass {
                         case "smallint":
                             value = resultSet.getShort(colNameList.get(i));
                             break;
+                        case "float":
+                            value = resultSet.getFloat(colNameList.get(i));
+                            break;
                         case "numeric":
                             value = resultSet.getDouble(colNameList.get(i));
                             break;