From 9580ef19966b4381216ec863c8c1c333d489f33a Mon Sep 17 00:00:00 2001
From: 陈力 <66164129@qq.com>
Date: 星期一, 29 五月 2023 23:45:09 +0800
Subject: [PATCH] sqllite 和 点击隐藏键盘

---
 app/src/main/java/com/lotaai/canguiayw/sqllitedb/OrderDao.java |   46 +++++++++++++++++++++++++++++++---------------
 1 files changed, 31 insertions(+), 15 deletions(-)

diff --git a/app/src/main/java/com/lotaai/canguiayw/sqllitedb/OrderDao.java b/app/src/main/java/com/lotaai/canguiayw/sqllitedb/OrderDao.java
index ae2b0f1..4a3fdbc 100644
--- a/app/src/main/java/com/lotaai/canguiayw/sqllitedb/OrderDao.java
+++ b/app/src/main/java/com/lotaai/canguiayw/sqllitedb/OrderDao.java
@@ -22,11 +22,11 @@
      * Can be used for QueryBuilder and for referencing column names.
      */
     public static class Properties {
-        public final static Property Id = new Property(0, long.class, "id", true, "_id");
+        public final static Property Id = new Property(0, Long.class, "id", true, "_id");
         public final static Property OrderNo = new Property(1, String.class, "orderNo", false, "ORDER_NO");
         public final static Property GridNo = new Property(2, String.class, "gridNo", false, "GRID_NO");
         public final static Property State = new Property(3, int.class, "state", false, "STATE");
-        public final static Property PutInDate = new Property(4, long.class, "putInDate", false, "PUT_IN_DATE");
+        public final static Property PutInDate = new Property(4, String.class, "putInDate", false, "PUT_IN_DATE");
         public final static Property TakeCode = new Property(5, String.class, "takeCode", false, "TAKE_CODE");
     }
 
@@ -43,11 +43,11 @@
     public static void createTable(Database db, boolean ifNotExists) {
         String constraint = ifNotExists? "IF NOT EXISTS ": "";
         db.execSQL("CREATE TABLE " + constraint + "\"ORDER\" (" + //
-                "\"_id\" INTEGER PRIMARY KEY NOT NULL ," + // 0: id
-                "\"ORDER_NO\" TEXT," + // 1: orderNo
+                "\"_id\" INTEGER PRIMARY KEY AUTOINCREMENT ," + // 0: id
+                "\"ORDER_NO\" TEXT UNIQUE ," + // 1: orderNo
                 "\"GRID_NO\" TEXT NOT NULL ," + // 2: gridNo
                 "\"STATE\" INTEGER NOT NULL ," + // 3: state
-                "\"PUT_IN_DATE\" INTEGER NOT NULL ," + // 4: putInDate
+                "\"PUT_IN_DATE\" TEXT," + // 4: putInDate
                 "\"TAKE_CODE\" TEXT);"); // 5: takeCode
     }
 
@@ -60,7 +60,11 @@
     @Override
     protected final void bindValues(DatabaseStatement stmt, Order entity) {
         stmt.clearBindings();
-        stmt.bindLong(1, entity.getId());
+ 
+        Long id = entity.getId();
+        if (id != null) {
+            stmt.bindLong(1, id);
+        }
  
         String orderNo = entity.getOrderNo();
         if (orderNo != null) {
@@ -68,7 +72,11 @@
         }
         stmt.bindString(3, entity.getGridNo());
         stmt.bindLong(4, entity.getState());
-        stmt.bindLong(5, entity.getPutInDate());
+ 
+        String putInDate = entity.getPutInDate();
+        if (putInDate != null) {
+            stmt.bindString(5, putInDate);
+        }
  
         String takeCode = entity.getTakeCode();
         if (takeCode != null) {
@@ -79,7 +87,11 @@
     @Override
     protected final void bindValues(SQLiteStatement stmt, Order entity) {
         stmt.clearBindings();
-        stmt.bindLong(1, entity.getId());
+ 
+        Long id = entity.getId();
+        if (id != null) {
+            stmt.bindLong(1, id);
+        }
  
         String orderNo = entity.getOrderNo();
         if (orderNo != null) {
@@ -87,7 +99,11 @@
         }
         stmt.bindString(3, entity.getGridNo());
         stmt.bindLong(4, entity.getState());
-        stmt.bindLong(5, entity.getPutInDate());
+ 
+        String putInDate = entity.getPutInDate();
+        if (putInDate != null) {
+            stmt.bindString(5, putInDate);
+        }
  
         String takeCode = entity.getTakeCode();
         if (takeCode != null) {
@@ -97,17 +113,17 @@
 
     @Override
     public Long readKey(Cursor cursor, int offset) {
-        return cursor.getLong(offset + 0);
+        return cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0);
     }    
 
     @Override
     public Order readEntity(Cursor cursor, int offset) {
         Order entity = new Order( //
-            cursor.getLong(offset + 0), // id
+            cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0), // id
             cursor.isNull(offset + 1) ? null : cursor.getString(offset + 1), // orderNo
             cursor.getString(offset + 2), // gridNo
             cursor.getInt(offset + 3), // state
-            cursor.getLong(offset + 4), // putInDate
+            cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // putInDate
             cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5) // takeCode
         );
         return entity;
@@ -115,11 +131,11 @@
      
     @Override
     public void readEntity(Cursor cursor, Order entity, int offset) {
-        entity.setId(cursor.getLong(offset + 0));
+        entity.setId(cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0));
         entity.setOrderNo(cursor.isNull(offset + 1) ? null : cursor.getString(offset + 1));
         entity.setGridNo(cursor.getString(offset + 2));
         entity.setState(cursor.getInt(offset + 3));
-        entity.setPutInDate(cursor.getLong(offset + 4));
+        entity.setPutInDate(cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4));
         entity.setTakeCode(cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5));
      }
     
@@ -140,7 +156,7 @@
 
     @Override
     public boolean hasKey(Order entity) {
-        throw new UnsupportedOperationException("Unsupported for entities with a non-null key");
+        return entity.getId() != null;
     }
 
     @Override

--
Gitblit v1.7.1