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