The problem is from date field. when I changed data type from DATE_TIME to DATE_STRING problem solved. I don't know what is the problem of DATE_TIME.
Insert row in SQLite with Ormlite containing ENUM_INTEGER and DATE_TIME data type
Pergunta
This is my entity class. I use three ENUM_INTEGER data type in this class
@DatabaseTable
public class MessageData {
@DatabaseField(generatedId = true, columnName = ID_FIELD_NAME)
private Integer messageId;
@DatabaseField(dataType = DataType.DATE_TIME, columnName = DATE_FIELD_NAME)
private Date date;
@DatabaseField(dataType = DataType.ENUM_INTEGER, columnName = DIRECTION_FIELD_NAME)
private MessageEnums.MessageDirection direction;
@DatabaseField(columnName = CONTACT_ID_FIELD_NAME)
private String contactId;
@DatabaseField(columnName = MESSAGE_FIELD_NAME)
private String message;
@DatabaseField(dataType = DataType.ENUM_INTEGER, columnName = TYPE_FIELD_NAME)
private MessageEnums.MessageType type;
@DatabaseField(columnName = CONTENT_ADDRESS_FIELD_NAME)
private String contentAddress;
@DatabaseField(dataType = DataType.ENUM_INTEGER, columnName = STATUS_FIELD_NAME)
private MessageEnums.MessageStatus status;
@DatabaseField(columnName = READ_FIELD_NAME)
private boolean read;
//.....
}
and this is my enumeration class
public class MessageEnums {
public enum MessageDirection{
IN,
OUT
}
public enum MessageType{
TEXT,
VOICE,
IMAGE,
STICKER,
AUDIO,
VIDEO,
LOCATION
}
public enum MessageStatus{
PENDING,
SENT,
DELIVERED,
RECEIVED
}
}
I use this code to insert a row
newMessageData = new MessageData(date, MessageEnums.MessageDirection.OUT, params[2], params[1]
, MessageEnums.MessageType.TEXT, "", MessageEnums.MessageStatus.SENT, true);
Dao<MessageData, Integer> dao = myApplication.getMessageDatabaseHelper().getMessageDao();
dao.create(newMessageData);
I get this error after running last line
Unable to run insert stmt on object com.x.xx.database.MessageData@41a72790: INSERT INTO messagedata
(date
,direction
,contactID
,message
,type
,contentAddress
,status
,read
) VALUES (?,?,?,?,?,?,?,?)
hope somebody help me!
Solução
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow