小编dav*_*vej的帖子

MYSQL,使用单个select语句在存储过程中设置两个变量

所以我希望它是类似的,或具有以下效果:

declare vFN varchar(20); 
declare vLN varchar(20);
set vFN, vLN = (select fname, lname from sometable where id = 1);
Run Code Online (Sandbox Code Playgroud)

显然,我可以做2次选择,但这看起来非常低效.

TIA

mysql variables select procedure

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

"锁的总数超过了锁表大小"删除267条记录

我试图从大约4000万中删除267条记录.查询看起来像:

delete from pricedata
where
pricedate > '20120413'
Run Code Online (Sandbox Code Playgroud)

定价是一个char(8)领域.

我知道调整innodb_buffer_pool_size,但如果我能做到

select from pricedata
where
pricedate > '20120413'
Run Code Online (Sandbox Code Playgroud)

并获得267条记录(这就是全部),没有错误,为什么它会删除?

如果调整innodb_buffer_pool_size不起作用,我该怎么办?

mysql innodb locking sql-delete

8
推荐指数
3
解决办法
9998
查看次数

如何将字符串"*.*"作为命令行参数传递给ruby?

码:

  #test_argv.rb
  puts "length: #{ARGV.length} "
  ARGV.each do |a|
    puts "Argument: #{a}"
  end
Run Code Online (Sandbox Code Playgroud)

如果我"*.*"在调用上面的内容时提供字符串(带或不带引号),我会得到以下输出:

  C:\test>test_argv *.*
  length: 5
  Argument: afile.TXT
  Argument: bfile.TXT
  Argument: cfile.TXT
  Argument: dfile.TXT
  Argument: somethingelse.TXT
Run Code Online (Sandbox Code Playgroud)

即,c:\ test中的文件列表.

其他值,比如"s*.*"返回somethingelse.TXT,就像你在做文件操作时所期望的那样 - 但我不是.

但这表现得如预期的那样:

  C:\test>test_argv asdf
  length: 1
  Argument: asdf
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,我如何制作一个用户友好的脚本,将"*.*"(等)作为命令行参数?另外,这在哪里记录/解释?

编辑:这发生在Windows和Linux,1.8.7和1.9.2上

ruby argv

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

带有嵌入式"."的json.net SelectToken

我有json看起来像:

myjson = {"queries":{"F.SP": 27}}
Run Code Online (Sandbox Code Playgroud)

所以

queryResults = JObject.Parse(jsonString)
Run Code Online (Sandbox Code Playgroud)

我可以

firstToken = queryResults.SelectToken("queries") 
Run Code Online (Sandbox Code Playgroud)

然后回到LinqJToken

{"F.SP": 27}
Run Code Online (Sandbox Code Playgroud)

但我被困住了,因为当我尝试的时候

subToken = firstToken.SelectToken("F.SP")
Run Code Online (Sandbox Code Playgroud)

我什么都没得到.我猜这是因为JSON.net正在寻找带有子词"SP"的令牌"F".

我也尝试过以下各项,但都无济于事

myToken = queryResults.SelectToken("queries.F.SP")     
myToken = queryResults.SelectToken("queries[0].F.SP")     
Run Code Online (Sandbox Code Playgroud)

(queryResults.SelectToken("queries [0]")什么都不返回,fwiw)

有任何想法吗?

编辑:我已经验证了嵌入式"." 是问题; 如果我将原来的json改为

{"queries":{"FSP": 27}}
Run Code Online (Sandbox Code Playgroud)

我可以

queryResults.SelectToken("queries").SelectToken("FSP")
Run Code Online (Sandbox Code Playgroud)

没问题

json.net

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

javascript未终止的字符类

var badCode = "\(INST1,\\[0,";
var regex = new RegExp(badCode, "igm");
Run Code Online (Sandbox Code Playgroud)

得到"未终止的字符类"错误.

怎么修?

TIA

尝试从响应者那里得到的建议,请看下面的屏幕打印(您可能需要右键单击图像并在新选项卡中打开以使其清晰):记下new_bad_thing的值(上面等于badCode)

当我点击运行按钮时,这是屏幕打印(请注意错误信息):

在此输入图像描述

javascript regex

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

Ruby 2.2.0中的Mashalling比2.1.5慢

我有一个复杂的对象my_object,我将其编组

Marshal.dump(my_object)

我已经在2.1.5p273和2.2.0中对该行调用100次的性能进行了基准测试,结果如下:

2.1.5  
                  user     system      total        real
Marshal Dump  7.310000   0.120000   7.430000 (  8.988470)
Marshal Dump  7.520000   0.050000   7.570000 (  8.210356)
Marshal Dump  7.610000   0.050000   7.660000 (  8.432685)

2.2.0
                  user     system      total        real
Marshal Dump 26.480000   0.150000  26.630000 ( 29.591742)
Marshal Dump 24.100000   0.300000  24.400000 ( 28.520397)
Marshal Dump 26.210000   0.210000  26.420000 ( 29.993412)
Run Code Online (Sandbox Code Playgroud)

(我为每个版本运行了3次基准测试,要彻底.)

正如你所看到的,它在2.2.0和2.1.5之间的速度超过3倍.我把它归结为Marshal.dump因为,使用ruby-prof宝石,它向我展示了那条表现不佳的线条; 但我找不到一种方法来获取Marshal.dump本身在探查器中调用的方法.

编辑:经过大量实验后发现,用最小的复制品查看我的答案

ruby floating-point performance marshalling

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

即使ApplyUpdates在try ...之外,仍然会出现错误弹出窗口

找到解决方案,请参阅下面的评论

D5,odbc到mysql数据库

这段代码:

  with QryCmdPerf do begin
    Close;
    ParamByName('ACCTID').AsInteger:= AcctId;
    ParamByName('FROMDT').AsString:= MySQLDate(FromDt);
    ParamByName('TODT').AsString:= MySQLDate(ToDt);
    Open;
    first;
    try
      edit;
      FieldByName('PnL').AsFloat:= 97979;
      ApplyUpdates;
    except
      close;
    end;
  end;    // with
Run Code Online (Sandbox Code Playgroud)

(特别是"ApplyUpdates")如果PnL字段已经具有值97979,则会出现带有文本"Update Failed"的弹出窗口,显然是因为这段代码:

procedure TUpdateSQL.ExecSQL(UpdateKind: TUpdateKind);
begin
  with Query[UpdateKind] do
  begin
    Prepare;
    ExecSQL;
    if RowsAffected <> 1 then DatabaseError(SUpdateFailed);
  end;
end;
Run Code Online (Sandbox Code Playgroud)

在DBTables.pas中.无论如何,我希望能够发布ApplyUpdates,如果它没有进行任何更新,就不必担心弹出窗口.但如果"尝试......除外"不起作用,会是什么?

TIA

delphi odbc

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

根据Microsoft的说明,不会显示发布Web向导

根据此页面,"右键单击项目并选择"发布"(或"发布网站项目的网站")以打开"发布Web向导".然后出现的内容与该页面上显示的内容完全不同,相反,我得到了这个:在此输入图像描述 它看起来与MS页面上描述的"发布Web向导"完全不同.我在该页面上尝试了很多选项,但没有一个选择让我导入我的主机的"发布配置文件".

我是否可以通过另一种方式访问​​Publish Web向导,以便导入主持人的"发布配置文件"?

publish web visual-studio-2012

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

需要禁止数组中的负索引值

我有一个数组date_array。如果i0,我想date_array[i-1]返回nil或异常。我想我可以为此派生一个 Array 的子类,但我不知道之后该去哪里。有任何想法吗?

ruby arrays

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

input type =附加到onclick事件的文件

我有这样一个菜单:

<ul class="sub">
    <li><a href="#">New</a></li>
    <li><a href="#">Open</a></li>
    <li><a href="#">Save</a></li>
    <li><a href="#">Help</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

而且我想将一个onclick附加到Open li上,它会启动文件打开对话框,就像input type="file"那样.我可以处理附加代码到li的onclick事件,但我不知道要附加什么代码.

TIA

html javascript file input onclick

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

为什么这不起作用:x.map(&:+"A")

从我读过的,

something {|i| i.foo } 
something(&:foo)
Run Code Online (Sandbox Code Playgroud)

是等价的.因此,如果x =%w(abcd),为什么不是以下等价物:

x.map {|s| s.+ "A"}
x.map {&:+ "A"}
Run Code Online (Sandbox Code Playgroud)

第一个按预期工作(我得到["aA","bA","cA","dA"]),但是无论我尝试什么,第二个都会出错.

ruby ampersand ruby-1.9

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