标签: sqlite

如何存储自定义对象的arraylist?

我创建了一个由自定义对象组成的arraylist.基本上用户将创建一个类,每次创建一个类时,都会在arraylist中添加一个新的Lecture(我的自定义对象).我需要保存生成的arraylist,以便即使重新启动应用程序也会保存用户的类.

根据我的理解,我必须使我的课程可序列化.但我究竟是怎么做到的呢?然后一旦它序列化我该怎么办?

public class Lecture{

public String title;
public String startTime;
public String endTime;
public String day;
public boolean classEnabled;

public Lecture(String title, String startTime, String endTime, String day, boolean enable){
    this.title = title;
    this.startTime = startTime;
    this.endTime = endTime;
    this.day = day;
    this.classEnabled = enable;
}
//Getters and setters below
Run Code Online (Sandbox Code Playgroud)

sqlite android

14
推荐指数
2
解决办法
2万
查看次数

在SQLite中计算表中行的最有效方法是什么?

我总是只使用"SELECT COUNT(1)FROM X",但也许这不是最有效的.有什么想法吗?其他选项包括SELECT COUNT(*)或者如果它是自动递增(并且从不删除),则可能获取最后插入的id.

如果我只是想知道桌子上是否有任何东西怎么样?(例如,计数> 0?)

sql sqlite

14
推荐指数
3
解决办法
1万
查看次数

sqlite3:创建没有列的表

我想在sqlite3中创建没有列的表.它可以在postgres数据库中,但不能在sqlite3中.有没有办法实现这一点,或者它根本不支持(也许不是在sql标准?)我检查了sqlite3 CREATE TABLE语法,似乎,必须至少有一列,但也许我错过了什么?

sqlite create-table

14
推荐指数
1
解决办法
5761
查看次数

sqlite触发器中的条件插入语句

在sqlite触发器中是否支持条件if/case/when语句?

我们说我有以下设置:

CREATE TABLE someTable (id INTEGER PRIMARY KEY, someValue INTEGER);
CREATE TRIGGER update_another_table AFTER  INSERT ON someTable 
BEGIN
    IF(new.someValue==0)
        DELETE FROM another_table WHERE (...some condition);
    ELSE
        IF NOT EXISTS(SELECT anotherValue  FROM another_table  WHERE anotherValue =new.someValue)
            INSERT INTO another_table  VALUES(new.someValue, ...);
        ELSE
            UPDATE another_table SET anotherValue = new.someValue;
END;
Run Code Online (Sandbox Code Playgroud)

但它会引发语法错误 Sqlite error near 'IF': syntax error"

sqlite triggers if-statement insert

14
推荐指数
1
解决办法
2万
查看次数

在iphone模拟器中打开sqlite数据库文件?

我正在努力了解我的iphone应用程序中的问题.

我在我的sqlite数据库中有一个set方法,看起来它工作正常.我在设置值时执行NSLog并且它是正确的.这是一个值为"2010-10-10 12:13:14"的字符串.

当我对相同数据使用get方法时,结果表明该值不正确.它返回1.

有没有办法打开iPhone模拟器内部的数据库文件,这样我就可以看到模拟器数据库中存储的实际数据是什么?

有没有办法嗅探我的模拟器和实际文件之间的sqlite调用?像Charles或Service Capture这样的东西?

非常感谢!

sqlite iphone xcode

14
推荐指数
5
解决办法
6万
查看次数

来自NSData的CGPDFDocumentRef

我将我的PDF从SQLite DB转换为NSData变量.现在我有什么选择从这个NSData创建CGPDFDocumentRef?

或者我有什么选择来创建这个CGPDFDocumentRef,在SQLite中有数据吗?

pdf sqlite iphone nsdata cgpdfdocument

14
推荐指数
1
解决办法
9390
查看次数

App.config连接字符串相对路径

我需要在app.config中设置sqlite连接字符串.我想设置相对于调试/发布文件夹的路径,数据库文件将被复制到这些文件夹.

<add name="EmailsSQLite" connectionString="data source=c:\Users\Test\Documents\Visual Studio 2008\Projects\TestConsole\Emails\data\EmailDatabase.sqlite" providerName="System.Data.SQLite"/>
Run Code Online (Sandbox Code Playgroud)

我希望有类似的东西:

<add name="EmailsSQLite" connectionString="data source=\data\EmailDatabase.sqlite" providerName="System.Data.SQLite"/>
Run Code Online (Sandbox Code Playgroud)

那可能吗?

.net sqlite configuration connection-string app-config

14
推荐指数
3
解决办法
3万
查看次数

Android数据库损坏,但可以在SQLite Manager中打开.可恢复?

在最近的两周内,在没有发布我的应用程序更新的情况下,我开始收到一堆包含损坏数据库的报告.下面是堆栈跟踪.Android无法打开数据库,我的计算机上的sqlite-manager程序也无法打开.但是,fireite的SQLite manager-addon可以打开它.运行命令"compact database"后,数据库已修复,我可以在android中打开它.有什么方法可以在我的应用程序中做这样的事情吗?最大的问题是我甚至无法尝试打开数据库,因为较新版本的Android会立即删除并替换数据库,如下面的堆栈跟踪中所示.可以在不打开数据库的情况下以某种方式执行PRAGMA语句吗?

问候,

02-22 09:55:20.245: ERROR/Database(5382): CREATE TABLE android_metadata failed
02-22 09:55:20.245: ERROR/Database(5382): Failed to setLocale() when constructing, closing the database
02-22 09:55:20.245: ERROR/Database(5382): android.database.sqlite.SQLiteDatabaseCorruptException: database disk image is malformed
02-22 09:55:20.245: ERROR/Database(5382):     at android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method)
02-22 09:55:20.245: ERROR/Database(5382):     at android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:1950)
02-22 09:55:20.245: ERROR/Database(5382):     at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1818)
02-22 09:55:20.245: ERROR/Database(5382):     at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:817)
02-22 09:55:20.245: ERROR/Database(5382):     at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:851)
02-22 09:55:20.245: ERROR/Database(5382):     at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:844)
02-22 09:55:20.245: ERROR/Database(5382):     at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:540)
02-22 09:55:20.245: ERROR/Database(5382):     at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203)

02-22 09:55:20.245: ERROR/Database(5382): Deleting and re-creating corrupt database …
Run Code Online (Sandbox Code Playgroud)

database sqlite android pragma corruption

14
推荐指数
1
解决办法
6007
查看次数

我不能让Python的executemany让sqlite3正常工作

我试图使用executemany将值插入数据库,但它对我不起作用.这是一个示例:

clist = []
clist.append("abc")
clist.append("def")
clist.append("ghi")
cursor.executemany("INSERT INTO myTable(data) values (?) ", clist)
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 3 supplied.

但是,当我更改列表时,它工作正常:

clist = ["a", "b"]
cursor.executemany("INSERT INTO myTable(data) values (?) ", clist)
Run Code Online (Sandbox Code Playgroud)

它按预期工作!我可以在数据库中看到数据.为什么第一个列表不起作用而第二个列表不起作用?

(PS:这只是一个示例,而不是实际代码.为简单起见,我做了一个小测试用例).

python sqlite pysqlite

14
推荐指数
2
解决办法
2万
查看次数

在java中,如何删除sqlite表?

我正在开发Android应用程序.我必须在我的活动中开发一个xml按钮,并构建我的sqlite数据库和表.如何让用户按下按钮删除表格?谢谢.

java sqlite android

14
推荐指数
2
解决办法
3万
查看次数