我在一个Android应用程序的SQLite数据库中创建了一个自定义视图.
我在Ubuntu上使用Sqliteman来测试我的SQL语句,然后再把它放在我的应用程序中.
我正在尝试在我的视图上做一个简单的select语句.
select语句在SQLiteman中工作正常但是当我在我的代码中放入相同的语句时会抛出错误.
该声明:
select * from item_view where parent_item_id = 0;
Run Code Online (Sandbox Code Playgroud)
视图(转换为Java作为字符串):
"create view if not exists item_view as select " +
"item._id, item.status, item.name, item.position, " +
"item.parent_item_id, item.note_id, item.other_id, " +
"note.contents, other.priority " +
"from item, note, other where item.note_id = note._id and item.other_id = other._id"
Run Code Online (Sandbox Code Playgroud)
错误:
07-16 14:21:15.153: ERROR/AndroidRuntime(5054): Caused by: android.database.sqlite.SQLiteException: no such column: parent_item_id: , while compiling: SELECT * FROM item_view WHERE parent_item_id = 0
Run Code Online (Sandbox Code Playgroud)
I first tried calling the field item.parent_item_id …
我正在阅读Rails教程并跟着像一个好的无人机一样按照它说的方式安装所有内容并完成它告诉我的一切.然后我意识到我不再喜欢这本书有很多原因并且不再阅读它.但是我已经按照它告诉我的方式安装了Rspec创建了我自己的项目.然后我发现Rspec比内置的Test :: Unit复杂得多,我读过的每本书都告诉我如何使用Test :: Unit,包括Pragmatic出色的'Rails Test Prescriptions'.(我希望我先从他们开始.)无论如何,这本书确实教了一点Rspec,但直到你通过Test :: Unit之后.现在我无法将Rspec从我的项目中删除.有一个'rails generate rspec:install'但没有卸载,我的测试现在默认为Rspec.我可以通过'rake test'强制进行单元测试,但如果我使用'rake'则进入Rspec.还有其他Rspec残余,比如'rails generate'的--help.我担心的是,当我更多地参与香草测试时,我会发现更多有问题的领域.我删除或重命名了安装生成的文件/文件夹.我也寻找我的配置文件的更改,但找不到任何.我打算考虑Rspec,但是现在我想要一个干净的项目.
我在Android应用程序中使用SQLite.
在我的所有表中,我有一个索引为0的默认行,它保存该表的默认值.
在大多数情况下,每个字段的默认编号为0,这是要使用的最佳编号.
但是,当我使用ORDER BY语句对数据进行排序时,我希望将所有零值字段放在列表的末尾,因为它们通常是空的并使用默认信息.
在where语句中排除这些字段是不可接受的,因为我正在尝试对信息进行排序,而不是对其进行过滤.
这是我到目前为止所拥有的:
select distinct item.name, epoch_date.epoch
from epoch_date, time
where (time.begin_date_id = epoch_date._id)
and (item.time_id = time._id)
order by epoch_date.epoch;
Run Code Online (Sandbox Code Playgroud)
在我的沙箱数据库中,它返回如下内容:
"item 1", 0
"item 2", 0
"item 4", 0
.
.
.
"item 3", 1275350400
"item 42", 1275472800
"item 12", 1275472800
Run Code Online (Sandbox Code Playgroud)
但我想要的是:
"item 3", 1275350400
"item 42", 1275472800
"item 12", 1275476400
.
.
.
"item 1", 0
"item 2", 0
"item 4", 0
Run Code Online (Sandbox Code Playgroud) 我想这将是简单,当我实现它,但是经过一番搜索,谷歌搜索和文档的扫描,我似乎无法找到答案.
我有一个字段是一个散列,其中键是id,值是其他id的数组.例如:
{"52ab84929938c7f966d4f116"=>["52ab84919938c7f966d4ee7d"],
"52ab84929938c7f966d4f117"=>["52ab84919938c7f966d4ee7d"],
"52ab84929938c7f966d4f0cc"=>["52ab84919938c7f966d4ee7d", "52ab84929938c7f966d4f13d"],
"52ab84929938c7f966d4f147"=>["52ab84919938c7f966d4ee7d"]}
Run Code Online (Sandbox Code Playgroud)
这可能更适合图形类型的数据库,但我不熟悉这项技术,并已经围绕Mongoid构建了我的应用程序的其余部分.对于另一个复杂的问题,这是我能提出的最简单的解决方案.
所以我的问题是如何搜索记录,例如id:52ab84929938c7f966d4f0cc作为哈希字段中的键?
我尝试像这样做数组样式并返回零结果:
Course.all_in(:skills_available => sk.id)
Run Code Online (Sandbox Code Playgroud)
而且我知道这不起作用,但如果它做到了会很好:
Course.where(:skills_available.key => sk.id)
Run Code Online (Sandbox Code Playgroud)