标签: views

为什么查询中的"Where 1 <> 1"会返回所有行?

我在一个我继承的应用程序中遇到了一个查询,如下所示:

Select *
From foo
where
    1 <> 1
Run Code Online (Sandbox Code Playgroud)

当我解析它时,它应该什么都不返回(1 <> 1应该评估为false,对吧).但是(至少在我的Oracle盒子上)它会返回一个完整的所有内容列表foo.当我在MSAccess/Jet和MSSQL中尝试相同的事情时,我得到了我期望的行为.为什么它与Oracle不同(为什么原始开发人员想要这样做)?

注意:我看到一些关于使用"where 1 = 1"的+ s和-s的迷信,它会导致全表扫描; 但我不认为这是原始开发者的意图.

小更新:
在这种情况下foo是一个视图.当我在实际的桌子上尝试相同的事情时,我会得到我期望的(没有行).

更新2:
我已经在兔子洞的下方进一步遵循代码,并确定他正在做的只是尝试获取字段/列名称.我仍然不知道为什么它会返回完整的记录集; 但仅限于观点.

从字面上看,他正在用字符串构建查询并将其传递给另一个函数以便不加改变地执行.

'VB6
strSQL = "SELECT * FROM " & strTableName & " WHERE 1 <> 1"
Run Code Online (Sandbox Code Playgroud)

在这种情况下,strTableName包含视图的名称.

更新3:
作为参考,这里是我遇到问题的一个视图(我已经更改了字段/表/模式名称)

CREATE OR REPLACE FORCE VIEW scott.foo (field1,
                                        field2,
                                        field4,
                                        field5,
                                        field12,
                                        field8,
                                        field6,
                                        field7,
                                        field16,
                                        field11,
                                        field13,
                                        field14,
                                        field15,
                                        field17
                                       )
AS
   SELECT   bar.field1,
            bar.field2,
            DECODE
               (yadda.field9, NULL, 'N',
                DECODE (yadda.field3, NULL, …
Run Code Online (Sandbox Code Playgroud)

sql oracle views

6
推荐指数
4
解决办法
1197
查看次数

SQL选择列名作为值

我有一个包含列名的数据表:

period, Truck, Car, Boat
Run Code Online (Sandbox Code Playgroud)

如果列包含数值,并且句点列是具有1到48的标识列,则有48行.

我想将这个表按到一个格式,我有一个名称列和一个值列以及句号列,例如.

period, NameOfVehicle, Value
Run Code Online (Sandbox Code Playgroud)

我想创建一个orignal表的视图来做到这一点?如何选择列名并将它们和该列中的正确值放入NameOfVehicle和Value列?

sql views

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

如何以编程方式了解grails中是否存在视图或布局文件

我想以编程方式了解Grails中是否存在视图或布局.

我正在考虑获取绝对路径并询问File.exists但我不知道如何为每个环境获取此路径.

我试过groovyPagesTemplateEngine.getUriWithinGrailsViews('a-view.gsp')没有成功.

你能指点我吗?

提前致谢

grails layout views

6
推荐指数
2
解决办法
3674
查看次数

Django:POST表单需要CSRF吗?GET没有?

使用POST方法的表单是否需要具有CSRF保护?我正在关注一本书,代码示例会抛出403错误.我做了一些搜索,似乎我需要在所有表单中启用CSRF.

我的问题是:

  1. Django现在是否要求保护所有POST表单不受CSRF的影响?

  2. 我需要做的就是添加'django.middleware.csrf.CsrfViewMiddleware',返回render_to_response(模板,字典,context_instance = RequestContext(请求),并在相应的表单中添加'{%csrf_token%}'?我是在这里什么都没有

当我这样做时,表单工作正常.当缺少任何这些部分时,它就失败了403.我只是想确保我做得对.:)

提前致谢.

编辑:

出于某种原因,这段代码对我没有意义,但它不会返回任何错误.请忽略原始验证,因为我没有阅读本书的部分,它显示了更有效的方法.

def contact(request):
    errors = []

    if request.method == 'POST':
        if not request.POST.get('subject',''):
            errors.append('Enter a subject')
        if not request.POST.get('message',''):
            errors.append('Enter a message')
        if request.POST.get('email', '') and '@' not in request.POST['email']:
            errors.append('Enter a valid email address')
        if not errors:
            send_mail(
                request.POST['subject'],
                request.POST['message'],
                request.POST.get('email', 'noreply@example.com'), ['siteownder@example.com'],)
            return HttpResponseRedirect('/contact/thanks/')

    return render_to_response('contact_form.html', { 'errors': errors }, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

我的问题是这个视图函数的最后一行.只有在request.method!= POST时才会调用它.这对我来说似乎完全错了.当它正在进行POST时,我不应该调用"context_instance = RequestContext(request)"吗?

django views django-csrf

6
推荐指数
1
解决办法
6880
查看次数

Rails:在查看(和相关)文件更改时自动刷新浏览器

我的很多工作(在Rails中)实际上都围绕着视图,图像,SASS/CSS和Coffescript/Javascript文件,我希望有一个刷新浏览器的解决方案,每当我改变任何这种类型的文件.有点像自动测试或观察,但"设计"任务.

我看过watchr和fs-event,它们似乎提供相关功能并环顾网络,但我找不到任何现成的解决方案.我错过了什么?很难相信这还没有完成 - 工具显然存在.

假设这样的工具确实不存在,我想开始编写自己的解决方案.所以,如果你有什么建议可以考虑,在哪里看看有趣的项目等等 - 我也很感激.

更新 示例工作流程如下所示:

  1. 在终端启动"观察者应用程序"
  2. 如果Rails服务器没有运行,它就会启动
  3. 浏览器窗口自动指向rails服务器
  4. 我去改变视图中的一些HTML更改
  5. 浏览器会自动刷新
  6. 我更新了一些CSS
  7. 浏览器会自动刷新
  8. 我添加了一个新的JS文件
  9. 浏览器会自动刷新
  10. ...

干杯!

automation views ruby-on-rails

6
推荐指数
1
解决办法
5966
查看次数

按年份分组字段视图Drupal 7

我想通过field_yea在Drupal 7中使用Views 调用的字段对字段进行分组.

我使用了Group by高级设置下的复选框,并选择了分组字段:field_year在样式选项下.
但输出仍然是:

2011
Content
2011
Content
2010
Content
Run Code Online (Sandbox Code Playgroud)

代替:

2011
Content
Content
2010
Content
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?


附件是我的视图设置和我正在使用的内容类型的屏幕截图.

我真的不知道为什么这不起作用.

截图视图设置
截图内容类型

drupal group-by views

6
推荐指数
1
解决办法
8588
查看次数

在Drupal 7中为视图添加自定义过滤器

即时通讯使用Drupal 7,我想在视图中添加一个新的过滤器.

我有一个自定义表"点击"两个字段; nid和clicks_left.

过滤器应该只包含一个复选框"仅显示剩余点击的节点".所以过滤器应该加入节点并点击nid ..

我已阅读了数千页的自定义过滤器,但无法使其工作=)

拜托,有人能告诉我一个工作实例,所以我明白了吗?

我到目前为止过滤器显示在过滤器下但是我需要添加什么来进行连接并获取复选框?相关代码如下:

FILE clicks_views.inc:

function clicks_views_data() {
  $data = array();

  $data['clicks']['clicks_filter'] = array(
    'group' => t('Clicks'),
    'title' => t('Clicks left'),
    'help' => t('Filter any Views based on clicks left'),
    'filter' => array(
  'field' => 'clicks_left',
      'handler' => 'clicks_handler_filter',
    ),
  ); 

return $data;
}
Run Code Online (Sandbox Code Playgroud)

FILE clicks_handler_filter.inc:

<?php
  class clicks_handler_filter extends views_handler_filter {

    ???

};
Run Code Online (Sandbox Code Playgroud)

我知道这两个功能都是错的;)

php drupal views drupal-views drupal-7

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

更改其他视图中使用的列的类型

create table base (name character varying(255));                                                                                                                                                        
create view v1 as select *, now() from base;                                                        
create view v2 as select * from v1 where name = 'joe';
alter table base alter column name type text;                                                       
Run Code Online (Sandbox Code Playgroud)

给出了这个错误:

cannot alter type of a column used by a view or rule
DETAIL:  rule _RETURN on view v1 depends on column "name"
Run Code Online (Sandbox Code Playgroud)

这有点烦人,因为现在我必须重新创建引用该base.name列的所有视图.当我有引用其他视图的视图时,这尤其令人讨厌.

我希望能够做的是:

select recreate_views('v1', 'v2', 'alter table base alter column name type text');
Run Code Online (Sandbox Code Playgroud)

并让函数获取v1和v2的视图定义,删除它们,运行指定的代码,然后重新创建v1和v2.如果我可以使用Ruby,我可能会使用函数/ block/lambda,就像

recreate_views 'v1', 'v2' do
  alter …
Run Code Online (Sandbox Code Playgroud)

postgresql views

6
推荐指数
1
解决办法
7859
查看次数

Drupal 7 + jQuery,如何让jQuery只与主动节点(通过nid)进行交互而不是列表中的每个节点

我一直在寻找这个主题没有任何运气的很长时间,如果我错过了一个较旧的主题,请指出我正确的方向.

我想要实现的目标:

定期查看多个节点并通过按下节点内的按钮(或其他任何内容)使jQuery以任何方式与此特定节点进行交互.防爆.使隐藏的div出现.

我面临的问题是对于初学者而言,我仍然发现很难与d7一起使用jQuery.我以前一直在使用jQ很长一段时间但是当它与D7一起使用时我遇到了重大问题.

最大的问题是,一旦我让jQ工作,它就会影响列表/提要中的每个可见节点,因为我通过div id或类调用该函数.我理解为什么会发生这种情况,但我无法弄清楚的是如何让jQ仅对按下按钮的节点产生影响.

到目前为止,这是我在节点模板中针对特定内容类型的内容:

    <script type="text/javascript">                                         
(function ($) {

 $('.up2').click(function () {
        $('.nummer_dark').text(parseInt($('.nummer_dark').text())+1,0).toFixed(2);
   $('.up2').toggle();


      });

       $('.up').one('click', function() {
        $('.flag-link-toggle').click();once();


      });


})(jQuery);

 </script> 
Run Code Online (Sandbox Code Playgroud)

这只是一个例子,我试图通过按下具有up2-class的对象来增加跨度内的数字,并通过按下具有up-class的对象来切换标记.

第一个代码有效,但数字增加了小数(2.453,3.4123等)而不是我计划的1,2,3,4.但主要的问题是这两个代码都在列表中的每个节点上生效..我知道这是因为列表中的每个节点都有相同的节点模板,因此相同的类但我想找到一个解决方案使用jQ中的node-id.

任何领先的答案都会节省我的一天!=)

jquery drupal views drupal-7

6
推荐指数
1
解决办法
458
查看次数

仅在所选设备上的Listview视图上的Android Stackoverflow错误

为Android开发本机应用程序的过程中,我遇到了特殊的HTC DESIRE S,这种情况经常发生在listview页面上.

崩溃是什么:

  1. Listview视图溢出
  2. 跨度溢出问题
  3. 视图溢出问题
  4. 其他(请解释)

logcat的:

java.lang.StackOverflowError
at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:940)
at android.text.SpannableStringBuilder.drawText(SpannableStringBuilder.java:1042)
at android.graphics.Canvas.drawText(Canvas.java:1323)
at android.text.Styled.drawUniformRun(Styled.java:141)
at android.text.Styled.drawDirectionalRun(Styled.java:298)
at android.text.Styled.drawText(Styled.java:357)
at android.text.Layout.drawText(Layout.java:1797)
at android.text.Layout.draw(Layout.java:679)
at android.widget.TextView.onDraw(TextView.java:4338)
at android.view.View.draw(View.java:7014)
at android.view.ViewGroup.drawChild(ViewGroup.java:1732)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459)
at android.view.View.draw(View.java:7017)
at android.view.ViewGroup.drawChild(ViewGroup.java:1732)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459)
at android.view.View.draw(View.java:7017)
at android.view.View.buildDrawingCache(View.java:6739)
at android.view.View.getDrawingCache(View.java:6512)
at android.view.ViewGroup.drawChild(ViewGroup.java:1657)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459)
at android.widget.AbsListView.dispatchDraw(AbsListView.java:1499)
at android.widget.ListView.dispatchDraw(ListView.java:3194)
at android.view.View.draw(View.java:7017)
at android.widget.AbsListView.draw(AbsListView.java:2607)
at android.view.ViewGroup.drawChild(ViewGroup.java:1732)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459)
at android.view.View.draw(View.java:7017)
at android.view.ViewGroup.drawChild(ViewGroup.java:1732)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459)
at android.view.View.draw(View.java:7017)
at android.widget.FrameLayout.draw(FrameLayout.java:357)
at android.view.ViewGroup.drawChild(ViewGroup.java:1732)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) …
Run Code Online (Sandbox Code Playgroud)

java stack-overflow android listview views

6
推荐指数
1
解决办法
1401
查看次数