Tag: SQLite

如何在kotlin运行时传递db名称

我已经尝试在kotlin中创建DatabaseOpenHelper。 它不允许我在运行时传递db名称。 class DatabaseOpenHelper (context: Context) : SQLiteOpenHelper(context, “mydb.db”, null, 4) { val TAG = javaClass().getSimpleName() val TABLE = “logs” companion object { public val ID: String = “_id” public val TIMESTAMP: String = “TIMESTAMP” public val TEXT: String = “TEXT” } ….. other methods } 请帮忙。

Kotlin:将图像保存到数据库

我在kotlin创建用户配置文件,我想给用户两个选项(从头像选择或捕获图像),然后保存在“sqlite”数据库中的配置文件 什么是最好的解决方案? 如果你在代码中帮我,我会很感激

我怎样才能加入GreenDao的三个实体?

我尝试使用GreenDao 在这里提供的示例来加入这三个实体,但是在leadTopersonJoin参数下的最后一行给出了一个错误:“Type Mismatch,expected Join <*,Lead> found Join <Lead,Person>不知道如何解决这个问题。 var daoSession: DaoSession = Application.getInstance().daoSession var queryBuilderLead: QueryBuilder<Lead> = daoSession.leadDao.queryBuilder() var leadToPersonJoin: Join<Lead, Person> = queryBuilderLead.join(LeadDao.Properties.LeadPersonId, Person::class.java, PersonDao.Properties.PersonLeadId) var personToAddresJoin = queryBuilderLead.join(leadToPersonJoin, PersonDao.Properties.PersonAddressId, Address::class.java, AddressDao.Properties.AddressPersonId) 我可以使用什么原始Sql来加入这三个表? 或者,我在做什么错greenDao查询?

使用Anko添加/查询/解析SQLite

tl; dr:我有问题试图让我的代码工作,现在我可以使用Anko创建数据库并插入列,但是当我尝试插入数据,当我在sqliteman上打开数据库时,我的列是空的也不知道如何检索字符串/ Int中的数据发送到一个View 这显然工作正常,我可以看到我的数据库与正确的名称所有列创建 class MySqlHelper(ctx: Context) : ManagedSQLiteOpenHelper(ctx, "db_main") { companion object { private var instance: MySqlHelper? = null @Synchronized fun getInstance(ctx: Context): MySqlHelper { if (instance == null) { instance = MySqlHelper(ctx.applicationContext) } return instance!! } } override fun onCreate(db: SQLiteDatabase) { db.createTable("db_main", true, "_id" to INTEGER + PRIMARY_KEY + AUTOINCREMENT + NOT_NULL, […]

如何使用Android Room Persistence Library将Column注释为NOT NULL

我的数据类看起来像这样 @Entity(tableName = "items") data class Item( @ColumnInfo(name = "name") var name: String = "", @ColumnInfo(name = "room") var room: String = "", @ColumnInfo(name = "quantity") var quantity: String = "", @ColumnInfo(name = "description") var description: String = "", @PrimaryKey(autoGenerate = true) @ColumnInfo(name = "id") var id: Long = 0 ) 房间使用SQLite,而且SQLite在其数据库中支持NOT NULL列。 我尝试使用@NonNull注释列,但它没有效果。 有没有办法使房间数据库中的列不可空?

引起:android.database.sqlite.SQLiteException:近“org”:语法错误(代码1):,编译时:

我正在尝试使用下面的anko库创建表格 override fun onCreate(db: SQLiteDatabase?) { db!!.createTable(PersonTable.Name, true, Pair(PersonTable.ID, INTEGER + PRIMARY_KEY + AUTOINCREMENT), Pair(PersonTable.PersonName, TEXT), Pair(PersonTable.Domain, TEXT), Pair(PersonTable.MobileNumber, REAL)) } 当我将AUTOINCREMENT添加到ID时,出现以下错误。 它没有AUTOINCREMENT 。 使用anko库将任何属性设置为AUTOINCREMENT的方法是什么? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.williamsro.fourthdemo, PID: 4799 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.williamsro.fourthdemo/com.williamsro.fourthdemo.MainActivity}: android.database.sqlite.SQLiteException: near "org": syntax error (code 1): , while compiling: CREATE TABLE IF NOT EXISTS `Person`(id […]

查询树中的父母

我有数据库表任务如下。 SELECT _id,name,parentId FROM Task; _id name parentId ———- ——————– ———- 4 Software Development 5 Machine Learning 6 Programing 4 7 Build System 4 8 version control 4 9 Android App Developm 4 10 Udacity Cource 5 11 Mathematics 5 12 skLearn docs 5 13 problem solving 6 14 breakdown 13 15 language 6 16 […]

Android JUnit测试SQLiteOpenHelper

我是junit测试的新手。 任何人都可以帮助我,如何测试我的SQLiteOpenHelper类。 意味着我必须实现什么类,以及如何测试我的数据库和表。 我正在使用Eclipse IDE。

连接到单个数据库

我有2个类连接到数据库。 但是对于我目前的实现,我必须连接到2个不同的数据库。我可以如何解决这个问题? 如果我为两个数据库使用相同的名称,它会给我一个错误 一类….. public static final String DATABASE_NAME = "140398L.db"; Context context; public PersistantAccountDAO(Context context) { super(context, DATABASE_NAME, null, 1); this.context = context; } 其他班…… public class PersistantTransactionDAO extends SQLiteOpenHelper implements TransactionDAO { public static final String DATABASE_NAME = "140398L"; public PersistantTransactionDAO(Context context) { super(context, DATABASE_NAME, null, 1); }

有效的方式来访问/存储数据,而不是有一个巨大的构造函数类

我目前需要一些指导。 而不是使用gets / sets来创建一个巨大的构造器类。 有没有可能简化这个任务? 试图避免有一个巨大的构造函数获取/设置。 所以我假设什么是避免这样做的好方法。 这种事情怎么能被大大简化呢? public User(int id, String name, long skillPoints) { this.id = id; this.name = name; this.skillPoints = skillPoints; this.level = 0; // So on so forth }