标签: sqlite

如何从sqlite3获取所选结果的行数?

我想获取所选行的数量以及所选数据.目前我必须使用两个sql语句:

一个是

select * from XXX where XXX;
Run Code Online (Sandbox Code Playgroud)

另一个是

select count(*) from XXX where XXX; 
Run Code Online (Sandbox Code Playgroud)

可以使用单个sql字符串实现吗?

我检查了sqlite3的源代码,然后找到了函数sqlite3_changes().但该功能仅在更改数据库(之后insert, delete or update)时才有用.

任何人都可以帮我解决这个问题吗?非常感谢你!

sqlite count

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

SQLite与HSQLDB

SQLiteHSQLDB之间的主要区别是什么?有很多应用程序都使用它们,但我没有看到任何重大差异.

sqlite hsqldb

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

Core Data vs. SQLite for SQL经验丰富的开发人员

我们正在开始在iPhone Enterprise开发人员计划中开发内部应用程序.由于它接近OS 3.0,我们正在重新考虑使用SQLite和使用Core Data的原始设计.这里有更多信息:

  • 有一个传统的桌面应用程序正在取代.我们将重用现有的后端.
  • 我们目前有一个SQLite数据库作为概念证明生成.这基本上是现有后端数据库的缩减版本.
  • 我们将从远程站点加载数据并将其存储在本地,它将持续存在并且需要存在.我们只会在它发生变化时更新它,这将是每个月或两个月.我们很可能会使用XML或JSON来传输数据.
  • 这个项目有两个开发人员,我们都有很强的SQL技能,但没有人使用过Core Data.

我的问题是:什么是核心数据的SQLite上的利益,将利益在这个特定实例什么和做什么好处证明学习一个新的框架,而不是使用现有的SQL较强的技能?

编辑:我刚刚注意到这个问题:核心数据与SQLite 3.我想我的问题是:

  • 如果我必须检查某个特定项是否存在或是否有更新,这很容易使用SQL,那么Core Data是否仍然有意义?我可以在图表中加载第一个对象并检查版本号而不加载整个图表吗?
  • 如果我们已经知道SQL,那么这个项目的核心数据的优势是否证明我们能够学习它?

sqlite iphone core-data

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

错误:文件已加密或不是数据库

我用PHP创建了一个带表的数据库.我是通过以下方式完成的:

<?php
$db = new SQLiteDatabase("test.db");
unset($db);
$db = sqlite_open("test.db");
sqlite_query($db,"create table students (names char(255))");
sqlite_close($db);
?>
Run Code Online (Sandbox Code Playgroud)

从命令行执行我的PHP文件后:"php test.php"我在我的目录中得到一个名为"test.db"的新文件(这就是我想要的).在命令行中,我键入"sqlite3 test.db".这样我就进入了sqlite命令行会话.然后,使用sqlite3,我输入".tables"(我想检查新数据库是否包含它应该包含的表).结果我得到:

Error: file is encrypted or is not a database 
Run Code Online (Sandbox Code Playgroud)

所以,它不起作用.有人知道这个问题吗?预先感谢您的任何帮助.

php sqlite

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

如何禁用管理应用程序的应用程序信息中的清除数据按钮

我正在研究android 2.2,在android manifest的Application选项卡中提供了"Allow clear data"选项设置true或false.但在将其设置为False后,我的应用程序无法禁用"管理"应用程序的应用程序信息中的"清除数据"按钮.当应用程序在Data/Data/packge-name/databases /中包含数据库时,我遇到了这个问题.

我必须从用户那里保护我的应用程序数据库.

sqlite android

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

使用ORMLite的Android Cursor在CursorAdapter中使用

有没有办法,如何获取查询的Cursor,我正在使用ORMLite Dao对象处理?

sqlite android cursor ormlite

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

如何在sqlite3的WHERE子句中添加多个"NOT LIKE'%?%'?

我有一个sqlite3查询,如:

SELECT word FROM table WHERE word NOT LIKE '%a%';
Run Code Online (Sandbox Code Playgroud)

这将选择单词中不出现'a'的所有单词.这我可以完美地工作.问题是,如果我想进一步限制结果,不要在单词中的任何地方包含'b'.我正在想象这样的事情.

SELECT word FROM table WHERE word NOT IN ('%a%', '%b%', '%z%');
Run Code Online (Sandbox Code Playgroud)

这显然不起作用,但这是个主意.只是添加一个AND条款是我想要避免的:

SELECT word FROM table WHERE word NOT LIKE '%a%' AND NOT LIKE '%b%';
Run Code Online (Sandbox Code Playgroud)

如果这是唯一的选择,那么我将不得不使用它,但我希望有别的东西.

sql sqlite

34
推荐指数
4
解决办法
21万
查看次数

Rails SQL正则表达式

我正在尝试搜索A0001,A0002,A1234,A2351等系列中的最大数字...问题是我正在搜索的列表也有字符串,如AG108939,E092357,AL399,22-30597等等......

基本上,我想在我的数据库中获得最高的####值.我使用以下查询:

@max_draw = Drawing.where("drawing_number LIKE ?", "A%")
Run Code Online (Sandbox Code Playgroud)

这种情况一直有效,直到像AG309这样的数字开始受阻,因为它以A开头,但格式与我正在寻找的格式不同.

我假设这应该是非常直接的正则表达式,但我是新来的,不知道如何正确编写这个查询与正则表达式.以下是我试过的一些东西,只需返回nil:

 @max_draw = Drawing.where("drawing_number LIKE ?", /A\d+/)
 @max_draw = Drawing.where("drawing_number LIKE ?", "/A\d+/")
 @max_draw = Drawing.where("drawing_number LIKE ?", "A[0-9]%")
Run Code Online (Sandbox Code Playgroud)

sqlite activerecord expression ruby-on-rails

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

权限拒绝:这需要android.permission.INTERACT_ACROSS_USERS_FULL

我在Android中遇到了sqlite db的问题.但是当我在互联网上进行快速研究时,我怀疑这个问题与sqlite无关,而与系统用户无关.我的应用程序未被识别为访问数据库功能的授权用户.我尝试在堆栈溢出中应用可能的建议解决方案,但它们都没有区别.这是我每次尝试使用数据库功能时遇到的LogCat.

12-14 02:35:17.721    2953-3355/? E/DatabaseUtils? Writing exception to parcel
java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:13082)
at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2038)
at com.android.providers.settings.SettingsProvider.callFromPackage(SettingsProvider.java:577)
at android.content.ContentProvider$Transport.call(ContentProvider.java:279)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:273)
at android.os.Binder.execTransact(Binder.java:388)
at dalvik.system.NativeStart.run(Native Method)
Run Code Online (Sandbox Code Playgroud)

我试图添加权限

android.permission.INTERACT_ACROSS_USERS_FULL
Run Code Online (Sandbox Code Playgroud)

但仍然没有声音.奇怪的是当我尝试添加INTERNET权限Android Studio 0.3(我使用的是ide)建议我可以选择的权限.但是当谈到INTERACT_ACROSS_USERS_FULL权限时,它的行为就像它不知道这个权限.我的测试设备是在4.3上运行的三星S4.

我假设我不是唯一一个尝试在android上使用db的人.所以有一个解决方案.

我怎样才能真正为我的应用程序添加INTERACT_ACROSS_USERS_FULL权限?

sqlite permissions android user-permissions

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

在iOS 8扩展中访问核心数据SQL数据库(在App和Widget扩展之间共享数据)

问题:

无法从Today View中的Widget扩展中访问应用程序的Core Data数据库.

应用程序本身能够按照iOS 8中的正常情况读取和写入数据库,但扩展将无法创建存储,导致错误,无法写入文件.

日志如下:

Error Domain=NSCocoaErrorDomain Code=512 "The operation couldn’t be completed. (Cocoa error 512.)"

reason = "Failed to create file; code = 2
Run Code Online (Sandbox Code Playgroud)

sqlite iphone core-data ios ios-app-extension

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