android sql insert表示对象到日期(';30/03/2012';,';DD/MM/YYYY';)
我试着去执行 在城市中插入值(2,'Qandahar','AFG','Qandahar',237500,截止日期('2012年3月30日','DD/MM/YYYY') 为此我有课android sql insert表示对象到日期(';30/03/2012';,';DD/MM/YYYY';),android,sql,date,ormlite,Android,Sql,Date,Ormlite,我试着去执行 在城市中插入值(2,'Qandahar','AFG','Qandahar',237500,截止日期('2012年3月30日','DD/MM/YYYY') 为此我有课 package com.airliquid.android.backend.donnee.domainobject; import java.sql.Date; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.D
package com.airliquid.android.backend.donnee.domainobject;
import java.sql.Date;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
@DatabaseTable(tableName = "City")
public class UserDo {
@DatabaseField(generatedId=true,unique=true)
private Long id;
@DatabaseField(columnName="Name")
private String Name;
@DatabaseField(columnName="CountryCode")
private String CountryCode;
@DatabaseField(columnName="District")
private String District;
@DatabaseField(columnName="Population")
private Long Population;
@DatabaseField(columnName="date")
private Date date;
}
当我执行时不带to_date('30/03/2012','DD/MM/YYYY')它的工作,android中的什么对象是to_date('30/03/2012','DD/MM/YYYY')?首先SQL Lite期望的格式是'YYYY-MM-DD' 如果要将日期转换为SQL能够理解的字符串,请使用以下代码行: SimpleDataFormat sdf=新SimpleDataFormat(“yyyy-MM-dd”) 字符串日期=sdf.format(YourDate)
YourDate是一个日期变量,包含要存储的值(在您的示例中为2012年3月30日)。使用构造函数日期(int year,int month,int day)。我有一个包含所有插入内容的文件,我有一个用于插入所有这些行的文件dao.updateRaw(strLin);strLin=插入城市的值(2,'Qandahar','AFG','Qandahar',237500,截止日期('2014年9月16日','DD/MM/YYYY');这一行插入内容已在文件中定义,如何解决此问题?您所说的“已在文件中定义”是什么意思?您应该能够修改正在编程的代码行,对吗?如果没有,请告诉代码的所有者对其进行修改。请注意SQL和SQLite之间的差异。@TAMTOM1987-如果导入文件中的值的格式与数据库不兼容,则不能一步完成此操作。首先,您应该预解析导入文件并将值转换为正确的格式。或者,标准做法是将文件导入到暂存表中,然后将该表的内容传播到持久化表中。在本例中,可以将日期作为varchar字段插入,然后在将其传播到持久化表时应用字符串操作、类型转换等,将其转换为真实的日期数据类型。