Questions tagged «sqlite»

SQLite是一个软件库,可实现自包含,无服务器,零配置的事务型SQL数据库引擎。

2
对SQLiteDatabase使用Singleton设计模式
我是Android上的新手,并且我正在开发一个简单的应用程序,以获得一些基本的经验。我的应用程序非常简单,包括广播接收器和一些活动。这两个组件都使用单个数据库,因此从理论上讲,这两个组件都可能尝试同时访问数据库。 目前,我只是在每次需要时实例化db对象(这是一个SQLite db helper类),并执行所需的操作:查询,插入等。 从我在这里和其他一些文档中已读过的内容来看,如果并发访问数据库,则会遇到“数据库锁定”异常的问题,因此更好的方法是使用该数据库对象的单个实例,以便所有组件始终使用相同的数据库连接。 以上推理正确吗?那么单身人士将是一个很好的解决方案吗?我知道有些纯粹主义者可能会反对它,但是请注意,这是一个相当简单的应用程序,因此我可以负担其他情况下无法做到的事情。 否则,更好的选择是什么?我已经读过有关使用内容提供程序的信息,但是这样做除了我不想与其他活动共享数据外,对它来说已经太多了。我确实已经阅读了这篇文章,并发现它很有帮助。

6
如何在SQLite数据库中存储图像
在我的应用程序中,我正在从图库中上传图像,并且希望将此图像存储在SQLite数据库中。如何在数据库中存储位图?我将位图转换为字符串并将其保存在数据库中。从数据库检索它时,由于该字符串是字符串,因此无法将其分配给ImageView。 Imageupload12 .java: public class Imageupload12 extends Activity { Button buttonLoadImage; ImageView targetImage; int i = 0; Database database = new Database(this); String i1; String img; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main5); buttonLoadImage = (Button) findViewById(R.id.loadimage); targetImage = (ImageView) findViewById(R.id.targetimage); Bundle b = getIntent().getExtras(); if (b != null) …

1
比较MySQL,PostgreSQL和SQLite中的数据库列类型?(跨图)
我正在尝试找到一种在最常用的数据库之间关联列类型的方法:MySQL,PostgreSQL和SQLite。 这是到目前为止的内容,但恐怕还没有完成,我需要一些经验丰富的人来帮助我完成所有遗漏的类型。 MySQL PostgreSQL SQLite TINYINT SMALLINT INTEGER SMALLINT SMALLINT MEDIUMINT INTEGER BIGINT BIGINT BIT BIT INTEGER _______________________________________________________ TINYINT UNSIGNED SMALLINT INTEGER SMALLINT UNSIGNED INTEGER MEDIUMINT UNSIGNED INTEGER INT UNSIGNED BIGINT BIGINT UNSIGNED NUMERIC(20) _______________________________________________________ DOUBLE DOUBLE PRECISION REAL FLOAT REAL REAL DECIMAL DECIMAL REAL NUMERIC NUMERIC REAL _______________________________________________________ BOOLEAN …

4
sqlite将数据从一个表复制到另一个表
SQLITE 我有2个表“ Source”和“ Destination”具有相同的字段。ID和COUNTRY,尽管它们也都有其他不相同的字段。 我需要将Source.Country值复制到联接在ID上的Destination.Country 对于我一生,我无法让Sqlite做到这一点。 在SQL Server等中,这是一个非常简单的任务。 有想法吗?
76 sql  sqlite 

4
使用相同的用户名更新另一个表中的表值
我有两个表,一个名为同一列中user_name,他说table_a,table_b。 我想,从复制table_b,column_b_1,column_b2,以table_b1,column_a_1,column_a_2,分别,这里的user_name是一样的,如何做到这一点的SQL语句?
75 sql  sqlite 

8
SQLite Android数据库游标窗口分配2048 kb失败
我有一个例程,每秒对SQLite数据库运行多次不同的查询。过一会儿我会得到错误 "android.database.CursorWindowAllocationException: - Cursor window allocation of 2048 kb failed. # Open Cursors = " 出现在LogCat中。 我有应用日志内存的使用情况,确实,当使用情况达到一定限制时,我会收到此错误,暗示它用完了。我的直觉告诉我,每次运行查询时,数据库引擎都会创建一个NEW缓冲区(CursorWindow),即使我将游标标记为.close(),垃圾回收器和SQLiteDatabase.releaseMemory()释放内存的速度够快。我认为解决方案可能在于“强制”数据库始终写入同一缓冲区,而不创建新缓冲区,但是我一直无法找到一种方法来做到这一点。我尝试实例化自己的CursorWindow,并尝试将其设置为和SQLiteCursor无济于事。 有任何想法吗? 编辑:从@GrahamBorland重新示例代码请求: public static CursorWindow cursorWindow = new CursorWindow("cursorWindow"); public static SQLiteCursor sqlCursor; public static void getItemsVisibleArea(GeoPoint mapCenter, int latSpan, int lonSpan) { query = "SELECT * FROM Items"; //would be more complex …

6
如果我不关闭Python SQLite中的数据库连接怎么办
我正在做这样的事情... conn = sqlite3.connect(db_filename) with conn: cur = conn.cursor() cur.execute( ... ) with自动提交更改。但是文档对关闭连接一无所知。 实际上,我可以conn在以后的语句(已测试)中使用。因此,似乎上下文管理器没有关闭连接。 我是否必须手动关闭连接。如果我打开它怎么办? 编辑 我的发现: 我已经测试并确认了上下文管理器中的连接未关闭。在之后__exit__,上下文管理器仅通过执行以下操作来提交更改:conn.commit() with conn并且with sqlite3.connect(db_filename) as conn相同,因此使用其中任何一个仍将保持连接活动 with 语句不会创建新的作用域,因此在with套件内创建的所有变量都可以在其外部访问 最后,您应该手动关闭连接

4
SQLite中有效的表名是什么?
要使SQLite中的表名称有效的字符组合是什么?所有字母数字组合(AZ,az和0-9)是否构成有效名称? Ex. CREATE TABLE 123abc(...); 字母数字与破折号“-”和点号“。”的组合也有效吗? Ex. CREATE TABLE 123abc.txt(...); Ex. CREATE TABLE 123abc-ABC.txt(...); 谢谢。
74 sql  sqlite 

3
在“从表删除”之后更改sqlite文件的大小
我正在使用sqlite3文件。 首先,我进入一个相对较大的数据库,文件大小约为100 mb。 比我做的 $db->exec("DELETE FROM table"); 并只输入了该数据库的一小部分。但是文件大小仍然为100 mb。 删除sqlite文件的内容时应如何更改?
73 sqlite 

8
Android栏'_id'不存在?
我在记事本示例中无法正常工作。这是NotepadCodeLab / Notepadv1Solution中的代码: String[] from = new String[] { NotesDbAdapter.KEY_TITLE }; int[] to = new int[] { R.id.text1 }; SimpleCursorAdapter notes = new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to); 这段代码似乎工作正常。但要清楚一点,我运行ADB 实用程序并运行SQLite3。我检查了以下架构: sqlite> .schema CREATE TABLE android_metadata (locale TEXT); CREATE TABLE notes (_id integer primary key autoincrement, title text not null, body …

6
在ContentProvider中关闭数据库
本周,我已经学习了所有关于ContentProvider的知识,并使用SQLiteOpenHelper类管理提供程序内部数据库的创建和升级。具体来说,我已经从sdk的示例目录中阅读了NotePad示例。 现在,我可以看到SQLiteOpenHelper具有close()方法。我知道让空闲数据库处于打开状态是一种不好的做法,并且可能导致内存泄漏和其他问题(除非此讨论的方向正确)。如果我在Activity中使用该类,则只需在onDestroy()方法中调用close(),但据我所知,ContentProvider与活动没有相同的生命周期。NotePad的代码似乎从未调用过close(),因此我想假设它是由SQLiteOpenHelper或其他难题解决的,但是我真的很想知道。我也不是很信任示例代码。 问题摘要:我们应该什么时候关闭提供程序中的数据库?

7
如何合并许多SQLite数据库?
如果我有大量的SQLite数据库,所有数据库都具有相同的架构,那么将它们合并在一起以便对所有数据库执行查询的最佳方法是什么? 我知道这是可能的使用连网要做到这一点,但它有一个限制的根据机器上的存储系统上的32级64的数据库。
73 database  sqlite 

12
如何恢复损坏的SQLite3数据库?
这是先前回答的帖子的后续问题:在Linux中是否有用于验证SQLite数据库的命令行实用程序? 如果数据库产生以下错误: $ sqlite3 mydata.db "PRAGMA integrity_check" Error: database disk image is malformed 是否可以执行任何清理处理以将数据库恢复到可用状态?即使可能丢失一些损坏的记录? 谢谢

5
无法激活sqlite3(〜> 1.3.6),已激活sqlite3-1.4.0
我正在使用Ubuntu,在将db:migrate用于ruby项目时遇到问题。 rails aborted! LoadError: Error loading the 'sqlite3' Active Record adapter. Missing a gem it depends on? can't activate sqlite3 (~> 1.3.6), already activated sqlite3-1.4.0. Make sure all dependencies are added to Gemfile. /home/juan/odin_on_rails/RailsaAPP/bin/rails:9:in `<top (required)>' /home/juan/odin_on_rails/RailsaAPP/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: Gem::LoadError: can't activate sqlite3 (~> …

9
使用Django将数千条记录插入SQLite表的有效方法是什么?
我必须使用Django的ORM将8000多个记录插入SQLite数据库。此操作需要作为cronjob大约每分钟运行一次。 目前,我正在使用for循环遍历所有项目,然后将它们一个接一个地插入。 例: for item in items: entry = Entry(a1=item.a1, a2=item.a2) entry.save() 什么是有效的方法? 编辑:两种插入方法之间的一点比较。 没有commit_manually装饰器(11245个记录): nox@noxdevel marinetraffic]$ time python manage.py insrec real 1m50.288s user 0m6.710s sys 0m23.445s 使用commit_manually装饰器(11245条记录): [nox@noxdevel marinetraffic]$ time python manage.py insrec real 0m18.464s user 0m5.433s sys 0m10.163s 注意:除了将脚本插入数据库(下载ZIP文件,从ZIP存档中提取XML文件,解析XML文件)之外,测试脚本还执行其他一些操作,因此执行所需的时间不一定代表插入所需的时间。记录。
72 python  sql  django  sqlite  insert 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.