标签: android-sqlite

Android,带有嵌入对象列表的 ROOM 查询

我正在使用ROOM并且正在尝试获取具有特定Card.Code.

实体类就像这样

@Entity(tableName = "vehicles")
data class Vehicle(
    @PrimaryKey
    @ColumnInfo(name = "id") val id: Int,
    @ColumnInfo(name = "name") val name: String,
    @ColumnInfo(name = "cards") val cards: List<Card>?
)

@Entity
data class Card(
    @ColumnInfo(name = "id") val id: Int,
    @ColumnInfo(name = "code") val code: String
)
Run Code Online (Sandbox Code Playgroud)

我的问题是我不知道如何正确编写 SQL 查询

android android-sqlite android-room

5
推荐指数
1
解决办法
3706
查看次数

如何在 Room 中动态创建新表?

请帮帮我。
在我的应用程序中,用户可以通过按按钮创建新的数据库表。用户还可以稍后访问该表以接收其中的数据。
目前我通过 dataBaseHelper 类利用旧的 SQLite,所以我可以

public static void createTable(String tableName) {
        databaseHelper.getWritableDatabase().execSQL("CREATE TABLE IF NOT EXISTS [" + tableName + "] (...columns)");
    }

Run Code Online (Sandbox Code Playgroud)

工作完成了;

现在我想在我的应用程序中使用 Room 库而不是 DataBaseHelper。
我看着这个 DAO 接口,它严格绑定到特定的预定义表,但不知道该怎么办。
有办法吗?

sqlite android android-sqlite android-room

5
推荐指数
1
解决办法
6268
查看次数

如何在flutter中将sqlite db导出到googledrive

我正在寻找将 Sqlite db 文件导出到 google 驱动器的功能,例如 Whatsapp 备份。有没有任何解决方案有任何 git 链接?

database sqlite android-sqlite flutter

5
推荐指数
0
解决办法
507
查看次数

Room 迁移类中原始查询的 SQL 注入

在 Room 迁移中编写原始 SQL 查询时,OWASP 工具会发出 SQL 注入警告。有没有什么解决办法可以克服这个问题。下面是我的代码:

class Migration1to2 : Migration(1, 2) {
override fun migrate(database: SupportSQLiteDatabase) {

    database.execSQL("ALTER TABLE Book ADD COLUMN pub_year INTEGER")
}
}
Run Code Online (Sandbox Code Playgroud)

sqlite android sql-injection android-sqlite android-room

5
推荐指数
0
解决办法
391
查看次数

如何使用数据库检查器获取查询执行时间?

我正在使用数据库检查器来查询数据库。但是,我想知道优化查询性能的执行时间。有谁知道获取查询的执行时间吗?

android android-sqlite android-studio database-inspector

5
推荐指数
0
解决办法
142
查看次数

将 Inf、NAN 和 -Inf 插入 sqlite3 数据库的 SQL 命令

将无穷大、负无穷大和非数字插入到 sqlite3 数据库表中的实型列中的 sql 命令是什么?

即用什么来代替 value1、value2?

INSERT INTO table (column1,column2 ,..)
VALUES( value1, value2 ,...);
Run Code Online (Sandbox Code Playgroud)

我尝试在 sqlite3文档中查找相关资源,但找不到任何内容。

将“Inf”和“-Inf”作为字符串插入并通过 C++ 读取它会给我一个小的 -0.00... 值

sql sqlite android-sqlite

5
推荐指数
1
解决办法
2510
查看次数

SQLite数据库未显示在文件资源管理器中

我的应用程序中有一个SQLite数据库.当我在文件资源管理器中检查数据库是否已创建时,该data文件夹中没有任何数据库文件.它甚至没有显示使用该adb shell命令.这是否意味着尚未创建数据库?关于如何解决这个问题的任何建议?

android android-sqlite

4
推荐指数
1
解决办法
4222
查看次数

使用ContentProvider插入多个表

我正在实现一个PRIVATE ContentProvider,它有几个关系表(一对多,多对多).在我当前的实现中,所有表都可以通过URI访问.如何简化界面,以便URI不必访问内部的"通过"表?

例如,我有一个POSTS表,每个POST通过TAGGINGS表有很多TAGS.我想只与POSTS URI进行交互,并在内部进行"私有"工作ContentProvider.

为了query简单地返回带有连接表的游标,但我该怎么做insert呢?是bulkInsert我应该到什么?

android android-contentresolver android-contentprovider android-sqlite

4
推荐指数
1
解决办法
3987
查看次数

将列中的所有行更新为新值

道歉,我相信这已被问过很多次,但我已经四处寻找一个很好的例子而且找不到一个.

我想运行一个方法将值插入表中所有行的特定列.为了让您了解我正在使用的方法和查询,这是我的Students表的工作更新方法:

public void updateStudent(long id,String name, String age, String points,
        String teachernote,byte[] blob) {
    ContentValues cv = new ContentValues();
    cv.put(Students.STUDENT_NAME, name);
    cv.put(Students.STUDENT_AGE, age);
    cv.put(Students.STUDENT_POINTS, points);
    cv.put(Students.TEACHERNOTE, teachernote);
    cv.put(Students.IMAGE,blob);

    db = sqlHp.getWritableDatabase();
    db.update(Students.TABLE, cv, Students.STUDENT_ID+"="+ id, null);
    db.close();
}
Run Code Online (Sandbox Code Playgroud)

我正在查询更新所有行的STUDENT_POINTS.非常感谢任何帮助,谢谢.

sqlite android android-sqlite

4
推荐指数
1
解决办法
6972
查看次数

什么可能导致这个SQLite CursorWindowAllocationException?

我的Google Play开发者控制台报告了我的Android应用程序首次崩溃.看起来SQLite无法为光标分配内存,但我以前从未见过它,也无法重现它.有任何想法吗?

Google报道的Stackgrace:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.NsouthProductions.gradetrackerpro/com.NsouthProductions.gradetrackerpro.Activity_Category}: android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed. # Open Cursors=530 (# cursors opened by this proc=530)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
at android.app.ActivityThread.access$900(ActivityThread.java:161)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed. # Open Cursors=530 (# cursors opened by this proc=530)
at android.database.CursorWindow.<init>(CursorWindow.java:108)
at android.database.CursorWindow.<init>(CursorWindow.java:100)
at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
at android.database.sqlite.SQLiteCursor.clearOrCreateWindow(SQLiteCursor.java:301)
at …
Run Code Online (Sandbox Code Playgroud)

sqlite android android-activity android-sqlite

4
推荐指数
1
解决办法
2740
查看次数