Questions tagged «sqlite»

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

6
等同于ISNULL(),NVL(),IFNULL()或COALESCE()的SQLite
我想避免在我的代码中进行许多如下检查: myObj.someStringField = rdr.IsDBNull(someOrdinal) ? string.Empty : rdr.GetString(someOrdinal); 我想我可以通过执行以下操作让查询处理空值: SELECT myField1, [isnull](myField1, '') FROM myTable1 WHERE myField1 = someCondition 我正在使用SQLite,但似乎无法识别该isnull功能。我也试过其他数据库中的一些公认的那些等效(NVL(),IFNULL()和COALESCE()),但SQLite的似乎不认识任何人。 有没有人有任何建议或知道更好的方法来做到这一点。不幸的是,数据库没有所有字段的默认值。另外,LEFT JOIN在某些情况下,我需要使用一些子句,其中某些返回的字段将为null,因为LEFT JOIN表中的匹配记录将不存在。
92 .net  sqlite  dbnull 

5
在SQLite中声明变量并使用它
我想在SQLite中声明一个变量并在insert操作中使用它。 就像在MS SQL中一样: declare @name as varchar(10) set name = 'name' select * from table where name = @name 例如,我将需要在中获取last_insert_row和使用它insert。 我发现了一些有关绑定的信息,但是我并没有完全理解它。

10
Android中的SQLite查询对行进行计数
我试图创建一个简单的Login表单,将登录屏幕上输入的登录ID和密码与数据库中存储的ID进行比较。 我正在使用以下查询: final String DATABASE_COMPARE = "select count(*) from users where uname=" + loginname + "and pwd=" + loginpass + ");" ; 问题是,我不知道如何执行上述查询并存储返回的计数。 这是数据库表的外观(我已设法使用execSQl方法成功创建数据库) private static final String DATABASE_CREATE = "create table users (_id integer autoincrement, " + "name text not null, uname primary key text not null, " + …
91 android  sqlite  count 

6
Android SQLite:更新声明
我需要在我的应用程序中实现SQLite。我遵循了本教程。 在Android中创建和使用数据库 一切正常。我插入1行5列。现在,我只想更新1列的值,其他值将保持不变。 教程中有一种更新方法,但是它需要所有参数,但是我只想更新一列。
91 android  sql  sqlite 

15
如何为PHP启用sqlite3?
我正在尝试在Ubuntu中为PHP安装sqlite3。 我安装apt-get php5-sqlite3并编辑php.ini为包含sqlite3扩展。 当我跑步时phpinfo();我得到 SQLITE3 SQLite3 support enabled sqlite3 library version 3.4.2 如上所示,sqlite3已启用。但是,当我使用时,出现“找不到类SQLite3” new SQLite3("database");
91 php  sqlite 

5
Android SQLite数据库:插入缓慢
我需要解析一个相当大的XML文件(大约在100 KB到几百KB之间)Xml#parse(String, ContentHandler)。我目前正在使用152KB文件进行测试。 在解析期间,我还使用类似于以下内容的调用将数据插入SQLite数据库中getWritableDatabase().insert(TABLE_NAME, "_id", values)。对于152KB的测试文件,所有这些总共花费了80秒左右的时间(大约可插入200行)。 当我注释掉所有插入语句(但保留所有其他内容,如创建ContentValues等)时,同一文件仅需23秒。 数据库操作有这么大的开销是否正常?我能做些什么吗?

3
从sqlite数据库删除重复的行
我在SQLite3中有一个巨大的表-3600万行。在这个很大的表中,有两列: hash -文字 d -真实 一些行是重复的。也就是说,两者hash和d具有相同的值。如果两个哈希值相同,则的值也相同d。但是,两个相同的d'并不意味着两个相同hash'。 我想删除重复的行。我没有主键列。 最快的方法是什么?
91 sql  database  sqlite 

20
Sqlite文件位置核心数据
通常,核心数据应用的sqlite存储文件位于 库>应用程序支持> iPhone Simulator> 7.1(或您使用的任何版本)>应用程序>(哪个文件夹包含您的应用程序)>文档 文件夹,但在IOS 8中找不到。我假设他们只是在iPhone Simulator文件夹中添加了一个8.0文件夹,但它不存在。有人能够找到它吗?

10
Android中使用SQLite的外键约束?在删除级联上
我有两个表:航迹和航路点,一个航迹可以有多个航路点,但是航路点仅分配给1条航迹。 在点表的方式中,我有一个名为“ trackidfk”的列,一旦创建了轨道,该列就会插入track_ID,但是我没有在此列上设置外键约束。 删除轨道时,我想删除分配的航点,这可能吗?我读过有关使用触发器的信息,但我认为Android不支持它们。 要创建航点表: public void onCreate(SQLiteDatabase db) { db.execSQL( "CREATE TABLE " + TABLE_NAME + " (" + _ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + LONGITUDE + " INTEGER," + LATITUDE + " INTEGER," + TIME + " INTEGER," + TRACK_ID_FK + " INTEGER" + " …

8
从SQLite命令行外壳程序中打开数据库文件
我正在使用SQLite命令行外壳程序。如前所述,我可以通过将数据库作为可执行文件的参数提供来打开数据库: sqlite3 data.db 我无法弄清楚如何在调用工具后不从文件中提供数据库文件作为命令行参数(例如,如果我在Windows中双击sqlite3.exe)来打开该文件。SQLite Shell工具中用于指定数据库文件的命令是什么?
91 sqlite 

5
在Android中使用内容提供商公开多个表格的最佳做法
我正在构建一个应用程序,其中有一个用于活动的表和用于场地的表。我希望能够授予其他应用程序对此数据的访问权限。我有一些与此类问题的最佳做法有关的问题。 我应该如何构造数据库类? 我目前有EventsDbAdapter和VenuesDbAdapter类,它们提供查询每个表的逻辑,同时具有一个单独的DbManager(扩展了SQLiteOpenHelper)来管理数据库版本,创建/升级数据库,提供对数据库的访问权限(getWriteable / ReadeableDatabase)。这是推荐的解决方案,还是将所有内容合并到一个类(即DbManager)或将所有内容分离并让每个适配器扩展SQLiteOpenHelper更好? 我应该如何设计多个表的内容提供程序? 扩展上一个问题,我应该为整个应用程序使用一个内容提供程序,还是为事件和地点创建单独的提供程序? 我发现的大多数示例仅涉及单表应用程序,因此,我希望在这里提出任何建议。

5
sqlite3.ProgrammingError:不得使用8位字节串,除非您使用可以解释8位字节串的text_factory
我正在Python中使用SQLite3,试图存储UTF-8 HTML代码段的压缩版本。 代码如下: ... c = connection.cursor() c.execute('create table blah (cid integer primary key,html blob)') ... c.execute('insert or ignore into blah values (?, ?)',(cid, zlib.compress(html))) 此时出现错误: sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly …
90 python  unicode  sqlite  zlib 

2
如何通过Sql查询在Sqlite中获取表的第一行/第一行
我需要在Sqlite数据库中获取表的第一行/第一行。 但是我的程序为我正在使用的查询引发了SQLException“ Sqlite语法错误:'1'附近的语法错误”: SELECT TOP 1 * FROM SAMPLE_TABLE 我猜想这是一种专门针对MS SQL SERVER和MS ACCESS的语法。现在我正在使用。 SELECT * FROM SAMPLE_TABLE LIMIT 1 解决此问题的最佳方法是什么?
90 sql  sqlite 

14
如果SQLite中不存在ALTER TABLE ADD COLUMN
最近,我们需要将列添加到一些现有的SQLite数据库表中。可以使用来完成ALTER TABLE ADD COLUMN。当然,如果表格已被更改,我们希望不加更改。不幸的是,SQLite不支持上的IF NOT EXISTS子句ALTER TABLE。 我们当前的解决方法是执行ALTER TABLE语句,并忽略所有“重复的列名”错误,就像此Python示例一样(但在C ++中)。 但是,我们通常的设置数据库模式的方法是使.sql脚本包含CREATE TABLE IF NOT EXISTS和CREATE INDEX IF NOT EXISTS语句,可以使用sqlite3_exec或sqlite3命令行工具来执行该脚本。我们不能放入ALTER TABLE这些脚本文件,因为如果该语句失败,它将不执行任何操作。 我想将表定义放在一个地方,而不要在.sql和.cpp文件之间分割。有没有办法ALTER TABLE ADD COLUMN IF NOT EXISTS在纯SQLite SQL中编写变通办法?

10
sqlite3模块如何与电子一起使用?
我想使用电子开发桌面应用程序,该电子程序使用通过命令通过npm安装的sqlite3软件包 npm install --save sqlite3 但它在电子浏览器控制台中出现以下错误 Uncaught Error: Cannot find module 'E:\allcode\eapp\node_modules\sqlite3\lib\binding\node-v45-win32-x64\node_sqlite3.node' 我的开发环境是Windows 8.1 x64节点版本12.7 我的package.json文件如下所示: { "name": "eapp", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "electron ." }, "author": "", "license": "ISC", "devDependencies": { "electron-prebuilt": "^0.32.1" }, "dependencies": { "angular": "^1.3.5", "sqlite3": "^3.1.0" } } index.js文件 var …
88 node.js  sqlite  npm  electron 

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.