问题列表 - 第47328页

使用MySQL Events更新值

我想在MySQL中创建一个事件,以便更改表中的值.该事件检查日期(特别是TIMESTAMP字段的TIME()部分)是否大于当前日期.显然,我在一个名为"active"的表中有一个time_stamp和一个active列.这就是我所拥有的

CREATE EVENT update_status
ON SCHEDULE EVERY 2 SECOND
DO
SELECT @time:= time_stamp FROM active WHERE user_id = 1;
SELECT @time2:= TIMESTAMP(@time);
SELECT @active:=TIMEDIFF(@time2,DATE_ADD(NOW(),INTERVAL -15 SECOND));
UPDATE active SET active=if(TIME_TO_SEC(TIME(@active))>=0,1,0) WHERE user_id=1;
Run Code Online (Sandbox Code Playgroud)

据我所知,带有变量的SELECT部分​​工作正常,即TIME_TO_SEC(TIME(@active))看起来像是从15开始的回归计数(假设我正确地更新了'time_stamp'字段).

预期的行为是,当TIME_TO_SEC(TIME(@active))达到0时,UPDATE查询会将"active"字段的值从1更改为0(默认值为1).但是,它没有做任何事情.

更新:确切地说,有时它会将值更改为0,但是当TIME_TO_SEC(TIME(@active))仍为正值时.

第二更新:我最近尝试过这个:

CREATE EVENT update_status
ON SCHEDULE EVERY 2 SECOND
DO
SELECT @time:= time_stamp FROM active WHERE user_id = 1;
SELECT @time2:= TIMESTAMP(@time);
SELECT @active:=TIMEDIFF(@time2,DATE_ADD(NOW(),INTERVAL -15 SECOND));
UPDATE active SET active=0 WHERE user_id=1 AND TIME_TO_SEC(TIME(@active))>=0;
Run Code Online (Sandbox Code Playgroud)

这也没用.

第三次更新:我使用了Adam和我的建议,即使它没有按预期工作,它肯定会在我开始事件后立即将值"active"更改为0.想法?

解决方案:感谢Adam,我将他的代码用于IF语句: …

mysql events datetime

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

Symfony框架 - layout.php中的模块名称变量

我必须在main layout.php中使用哪个变量来获取当前模块名称?

php layout symfony1 model

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

未定义的方法"_index_path"form_for问题

我正在尝试使用RoR中的form_for帮助器生成表单,但我遇到的似乎是路由错误.以下是相关文件:

车型/ equipment.rb

class Equipment < ActiveRecord::Base
  attr_accessible :name, :tracking_number
  validates :tracking_number, :presence => true,
                              :uniqueness => { :case_sensitive => true }
end
Run Code Online (Sandbox Code Playgroud)

控制器/ equipments_controllers.rb

class EquipmentsController < ApplicationController
  def index
    @equipments = Equipment.paginate(:page => params[:page])
  end

  def new
    @equipment  = Equipment.new
  end

end
Run Code Online (Sandbox Code Playgroud)

视图/设备/ new.html.rb

<h1>Add an equipment</h1>
<%= form_for (@equipment) do |f| %>
  <%= render 'shared/error_messages', :object => f.object %>
  <div class="field">
    <%= f.label :name %> <br />
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :tracking_number …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

QDockWidget可拖动选项卡

我正在使用QDockWidgets并将其中两个放在我的应用程序的左侧,以便可以使用选项卡在它们之间进行选择.但是,Qt的默认行为看起来很可怕而且不直观.它不是能够拖动选项卡来移动窗口小部件,而是在选定的选项卡(具有相同名称)下面放置另一个栏,而不是必须拖动它.作为用户,很难搞清楚这一点.

在此输入图像描述

(我的QDockWidgets是"属性"和"库")

有没有办法摆脱这第二个栏,并使其能够通过拖动标签本身来移动我的QDockWidgets?

c++ qt tabs qdockwidget

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

构造函数是否可能超越?

我所知道的是,编译器在字节码中编写了一个默认的无参数构造函数.但是如果我们自己编写它,那么构造函数会自动调用.这种现象是构造函数的重写吗?

java constructor overriding

27
推荐指数
4
解决办法
11万
查看次数

搞清楚引发`ImportError`时出了什么问题

以Django为例,在manage.py:

try:
    import settings
except ImportError:
    sys.stderr.write("Error: Can't find the file 'settings.py'...")
Run Code Online (Sandbox Code Playgroud)

看似合法,但settings进口时会发生什么non_existant_lib_foo

好吧,你被追捕了所有你可以做的事情PATH,等等.

当然,您可以使用except ImportError as e:并打印出实际的错误消息,但如果您只想捕获特定错误并提供一些非常好的建议,如上所述,该怎么办?

您或多或少地使用正则表达式,或者最好猜测"正确"模块导入失败,然后显示消息.

有没有更好的方法来处理这个?

python exception python-import

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

在C#中检索Windows Phone 7中的自己的单元格号

如何在Windows Phone 7的C#中检索自己的手机号码和IMEI?

谢谢

c# windows-phone-7

13
推荐指数
1
解决办法
4123
查看次数

Silverlight ApplicationLifetimeObjects与Application ResourceDictionary

在Silverlight应用程序中,将对象添加到ApplicationLifetimeObjects与Application ResourceDictionary之间有什么区别?

silverlight

4
推荐指数
1
解决办法
1491
查看次数

不使用jQuery的一些经验技术原因是什么?

上下文: 我对前端开发人员的数量感到震惊,他们整天都在破解HTML,Javascript和CSS,忽略 jQuery(或其他等效的帮助程序框架)之类的工具并拒绝使用它们.我不是在谈论JavaScript专家,我每天都在谈论战壕中的乔生产开发人员.我得到了许多更多的借口或个人观点的论据,我认为这些论点没有任何技术价值,我想确保我没有遗漏一些东西.

问题: 不使用jQuery有哪些经验技术原因?

我不是在寻找宗教或教条的论点或主观意见"就像其他一些框架更好",考虑jQuery是问题中所有可比框架的稻草人.

javascript jquery frameworks

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

如何从C++ vtable中获取指针?

假设您有一个C++类,如:

class Foo {
 public:
  virtual ~Foo() {}
  virtual DoSomething() = 0;
};
Run Code Online (Sandbox Code Playgroud)

C++编译器将调用转换为vtable查找:

Foo* foo;

// Translated by C++ to:
//   foo->vtable->DoSomething(foo);
foo->DoSomething();
Run Code Online (Sandbox Code Playgroud)

假设我正在编写JIT编译器,并且我想获取类Foo的特定实例的DoSomething()函数的地址,因此我可以生成直接跳转到它的代码,而不是执行表查找和间接分支.

我的问题是:

  1. 有没有任何标准的C++方法来做到这一点(我几乎可以肯定答案是否定的,但是为了完整起见,我想问一下).

  2. 有没有任何独立于远程编译器的方法,比如有人实现了提供访问vtable的API的库?

如果他们能够工作,我会完全打开黑客.例如,如果我创建了自己的派生类并且可以确定其DoSomething方法的地址,我可以假设vtable是Foo的第一个(隐藏)成员并搜索其vtable直到找到我的指针值.但是,我不知道获得这个地址的方法:如果我写的话,&DerivedFoo::DoSomething我得到一个指向成员的指针,这是完全不同的东西.

也许我可以将指向成员的指针转换为vtable偏移量.当我编译以下内容时:

class Foo {
 public:
  virtual ~Foo() {}
  virtual void DoSomething() = 0;
};

void foo(Foo *f, void (Foo::*member)()) {
  (f->*member)();
}
Run Code Online (Sandbox Code Playgroud)

在GCC/x86-64上,我得到了这个程序集输出:

Disassembly of section .text:

0000000000000000 <_Z3fooP3FooMS_FvvE>:
   0:   40 f6 c6 01             test   sil,0x1
   4:   48 89 74 24 e8          mov    QWORD PTR [rsp-0x18],rsi
   9:   48 89 …
Run Code Online (Sandbox Code Playgroud)

c++ cross-platform

17
推荐指数
2
解决办法
8870
查看次数