我想获取所选行的数量以及所选数据.目前我必须使用两个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)时才有用.
任何人都可以帮我解决这个问题吗?非常感谢你!
我们正在开始在iPhone Enterprise开发人员计划中开发内部应用程序.由于它接近OS 3.0,我们正在重新考虑使用SQLite和使用Core Data的原始设计.这里有更多信息:
我的问题是:什么是核心数据的SQLite上的利益,将利益在这个特定实例什么和做什么好处证明学习一个新的框架,而不是使用现有的SQL较强的技能?
编辑:我刚刚注意到这个问题:核心数据与SQLite 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)
所以,它不起作用.有人知道这个问题吗?预先感谢您的任何帮助.
我正在研究android 2.2,在android manifest的Application选项卡中提供了"Allow clear data"选项设置true或false.但在将其设置为False后,我的应用程序无法禁用"管理"应用程序的应用程序信息中的"清除数据"按钮.当应用程序在Data/Data/packge-name/databases /中包含数据库时,我遇到了这个问题.
我必须从用户那里保护我的应用程序数据库.
有没有办法,如何获取查询的Cursor,我正在使用ORMLite Dao对象处理?
我有一个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)
如果这是唯一的选择,那么我将不得不使用它,但我希望有别的东西.
我正在尝试搜索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) 我在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权限?
问题:
无法从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 ×10
android ×3
core-data ×2
iphone ×2
activerecord ×1
count ×1
cursor ×1
expression ×1
hsqldb ×1
ios ×1
ormlite ×1
permissions ×1
php ×1
sql ×1