问题列表 - 第34877页

无法在WatiN的selectlist上触发jQuery change()事件

我有一个选择框

 <select id="myselectbox">
   <option value='a'>First option</option>
   <option value='b'>Second option</option>
 </select>
Run Code Online (Sandbox Code Playgroud)

和jquery

 $('#myselectbox').change(function() {
    ...
 });
Run Code Online (Sandbox Code Playgroud)

还有一个WatiN测试

 SelectList list = Browser.SelectList(Find.ById("myselectbox"));
 list.Select("First option");
Run Code Online (Sandbox Code Playgroud)

在IE中,这会更改选择框,但不会触发jquery事件处理程序.我知道围绕IE中的change()事件处理程序的许多问题.所以我尝试在测试中添加一些东西来强制事件发生:

 list.Blur();
 list.Keypress('\r');
 list.Click();
Run Code Online (Sandbox Code Playgroud)

我还尝试在选择框外面单击以移除焦点,希望这会触发事件.

有任何想法吗?

jquery watin

24
推荐指数
3
解决办法
5676
查看次数

SELECT JOIN语句与SQL Server引起的死锁

当使用两个表的JOIN执行SELECT语句时,SQL Server似乎单独锁定语句的两个表.例如,通过这样的查询:

SELECT ...
FROM
    table1
    LEFT JOIN table2
        ON table1.id = table2.id
    WHERE ...
Run Code Online (Sandbox Code Playgroud)

我发现锁的顺序取决于WHERE条件.查询优化器尝试生成只根据需要读取尽可能多行的执行计划.因此,如果WHERE条件包含table1列,它将首先从table1获取结果行,然后从table2获取相应的行.如果列来自table2,它将以相反的方式执行.更复杂的条件或索引的使用也可能对查询优化器的决策产生影响.

当语句读取的数据应在事后使用UPDATE语句更新时,不能保证UPDATE语句的顺序与用于从2个表中读取数据的顺序相匹配.如果另一个事务在事务更新表时尝试读取数据,则在UPDATE语句之间执行SELECT语句时会导致死锁,因为SELECT既不能锁定第一个表,也不能UPDATE获取锁定第二个表.例如:

T1: SELECT ... FROM ... JOIN ...
T1: UPDATE table1 SET ... WHERE id = ?
T2: SELECT ... FROM ... JOIN ... (locks table2, then blocked by lock on table1)
T1: UPDATE table2 SET ... WHERE id = ?
Run Code Online (Sandbox Code Playgroud)

两个表都表示类型层次结构,并始终一起加载.因此,使用带有JOIN的SELECT加载对象是有意义的.单独加载两个表不会使查询优化器有机会找到最佳执行计划.但由于UPDATE语句一次只能更新一个表,因此在对象被另一个事务更新时加载对象时会导致死锁.当更新属于不同类型的类型层次结构的对象的属性时,对象的更新通常会导致两个表上的UPDATE.

我试图向SELECT语句添加锁定提示,但这不会改变问题.当两个语句都试图锁定表时,它只会导致SELECT语句中出现死锁,而一个SELECT语句以另一个语句的相反顺序获取锁.也许可以使用相同的语句加载数据以进行更新,从而强制锁定的顺序相同.这样可以防止两个想要更新数据的事务之间发生死锁,但不会阻止只读取数据的事务到需要具有不同WHERE条件的死锁.

到目前为止,这是唯一的工作,所以这似乎是读取可能根本没有锁定.使用SQL Server 2005,可以使用SNAPSHOT ISOLATION完成此操作.SQL Server 2000的唯一方法是使用READ UNCOMMITED隔离级别.

我想知道是否还有其他可能性来防止SQL Server导致这些死锁?

sql-server select deadlock join sql-server-2000

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

让vc-diff在Emacs 23.2中使用ediff

如果这在Emacs 23.1.x中运行良好,但似乎已经打破了向Emacs 23.2的转变

我想在将文件的工作副本与SVN HEAD进行比较时使用ediff.

通常我按Cx v =和ediff运行,因为我的.emacs中有以下配置

;; Use ediff and not diff 
(setq diff-command "ediff")
Run Code Online (Sandbox Code Playgroud)

但是,唉,我仍然会出现正常的vc-diff缓冲区而没有ediff会话......

有没有其他人遇到这个,知道可能是什么问题?

emacs version-control diff

4
推荐指数
3
解决办法
5317
查看次数

将学术数学符号转换为C代码

那些甚至中等数学知识数学的人都会笑,但我不记得数学中有多少符号规则,我需要帮助将其转换为C代码.非常感谢您的帮助:

                                         214
          10,000 {(10,000 × [1+.0599/365]   )} +300
answer = ????????????????????????????????????????????
                                   214
                     .1+(1+(i/365))
Run Code Online (Sandbox Code Playgroud)

c math notation

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

C++模板:计算值并在编译时做出决策

假设您有一个具有模板长度和类型的矢量类 - 即vec<2,float>.这些也可以嵌套 - vec<2,vec<2,vec<2,float> > >或者vec<2,vec<2,float> >.您可以计算嵌套其中一个向量的深度如下:

template<typename T>
inline int depth(const T& t) { return 0; }
template<int N, typename T>
inline int depth(const vec<N,T>& v) { return 1+depth(v[0]); }
Run Code Online (Sandbox Code Playgroud)

麻烦的是你不知道它在运行时有多深,但你可能需要知道在comile-time的深度才能做到这样的事情:

// Do this one when depth(v1) > depth(v2)
template<int N, typename T, int M, typename U>
inline vec<N,T> operator +(const vec<N,T>& v1, const vec<M,U>& v2) {
    return v1 + coerce(v2,v1);
}
// Do this one when depth(v1) < depth(v2)
template<int N, typename …
Run Code Online (Sandbox Code Playgroud)

c++ templates

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

如何在Rails中显示关联模型的验证错误?

我有3个型号:User,Swatch + Color.用户具有许多样本,并且样本引用颜色.

用户在其个人资料页面(users/show/id)上创建样本.

颜色模型通过使用accepts_nested_attributes_for :color和的样本模型处理验证validates_associated :color.

我的问题是,如何在用户个人资料页面上显示特定于颜色的验证错误?

这是样本控制器.我目前只是用flash显示一个通用错误消息,但是想从颜色模型访问真正的ActiveRecord :: Errors:

class SwatchesController < ApplicationController

  before_filter :authenticate

  def create 
    color = Color.find_or_create_by_value(params[:swatch][:colors][:value])    
    @swatch = current_user.swatches.build(:color_id => color.id)

    if @swatch.save
      flash[:success] = "Swatch created"
      redirect_to user_path(current_user)
    else
      flash[:error] = "Error"
      redirect_to user_path(current_user)              
    end
  end

end
Run Code Online (Sandbox Code Playgroud)

validation activerecord ruby-on-rails

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

Logcat独立客户端

我开发了android应用程序.现在是时候把它交给beta测试者了.

是否有独立的应用程序将收集LogCat输出?我不想强迫测试人员安装整个android开发环境.我正在考虑应用程序将通过USB端口收集日志并将它们显示到PC控制台(登录到SD卡不方便),以便测试人员可以提供崩溃跟踪或一些调试信息.

testing android stack-trace logcat

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

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

在OS X上编译TCC的问题

有没有人在OS X上成功编译过TCC

据我所知它应该是可能的但是当我运行make时我得到以下错误:

$ make
gcc -o tcc tcc.c -DTCC_TARGET_I386 -O2 -g -Wall -fno-strict-aliasing -mpreferred-stack-                boundary=2 -march=i386 -falign-functions=0 -Wno-pointer-sign -Wno-sign-compare -D_FORTIFY_SOURCE=0 -lm -ldl
tcc.c:1: error: CPU you selected does not support x86-64 instruction set
tcc.c:1: error: CPU you selected does not support x86-64 instruction set
tcc.c:1: error: -mpreferred-stack-boundary=2 is not between 4 and 12
make: *** [tcc] Error 1
Run Code Online (Sandbox Code Playgroud)

./configure 运行正常,并提供以下输出:

$ ./configure 
Binary  directory   /usr/local/bin
TinyCC directory    /usr/local/lib/tcc
Library directory   /usr/local/lib
Include directory   /usr/local/include
Manual directory    /usr/local/man …
Run Code Online (Sandbox Code Playgroud)

macos tcc

7
推荐指数
2
解决办法
7230
查看次数

优化大规模MySQL INSERT

我有一个需要运行每日脚本的应用程序; 每日脚本包括下载包含1,000,000行的CSV文件,并将这些行插入表中.

我在Dreamhost中托管我的应用程序.我创建了一个遍历所有CSV行的while循环,并为每个行执行INSERT查询.问题是我得到了"500内部服务器错误".即使我将其分成1000个文件,每个1000行,我也不能在同一个循环中插入超过40或5万行.

有什么办法可以优化输入吗?我也在考虑使用专用服务器; 你怎么看?

谢谢!

佩德罗

php mysql sql bulkinsert

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