我有一个UI前端,可以与SQL Server数据库进行对话和操作,它可以做的一件事是运行数据库中数据的报告.
这个UI可以安装在多台计算机上,到目前为止我只是将报告保存在安装文件夹中,但这意味着每次添加新报告时都必须手动复制到每个安装的UI中.那里.
我正在考虑将.rpt文件存储在数据库本身(As Blobs)中,并在需要时使用某种机制让UI获取它们,以此作为集中报告和消除此问题的方法.
有没有人试过这个,并且做得好吗?或者,如果你还没有,你能想到在继续前进之前我应该考虑的任何事情吗?您能想到的任何提示,技巧或警告可能对我有帮助吗?
我想问用于显示的使用一些简单的例子<div>和<span>.我已经看到它们都用来标记一个id或一个页面的一部分class,但是我有兴趣知道是否有时候一个优先于另一个.
我一直在尝试使用Perl实用程序/模块"证明"作为一些单元测试的测试工具.单元测试比"单元"更加"系统",因为我需要将一些后台进程分解为测试的一部分,使用以下...
sub SpinupMonitor{
my $base_dir = shift;
my $config = shift;
my $pid = fork();
if($pid){
return $pid;
}else{
my $cmd = "$base_dir\/..\/bin\/monitor_real.pl -config $config -test";
close STDOUT;
exec ($cmd) or die "cannot exec test code [$cmd]\n";
}
}
sub KillMonitor{
my $pid = shift;
print "Killing monitor [$pid]\n";
kill(1,$pid);
}
Run Code Online (Sandbox Code Playgroud)
但是出于某种原因,当我让我的.t文件启动一些额外的进程时,它会导致测试工具在所有测试完成后挂在第一个.t文件的末尾,而不是转到下一个文件,或者退出如果只有一个.
起初我想知道是否可能是因为我正在杀死我的子流程并让它们不复存在.所以我补充说..
$SIG{CHLD} = \&REAPER;
sub REAPER {
my $pid = wait;
$SIG{CHLD} = \&REAPER;
}
Run Code Online (Sandbox Code Playgroud)
到代码.但这没有用.事实上,在封闭式检查中,我发现我的perl测试文件已经退出并且现在已经不存在了,并且它是证明包装器脚本没有收到它的孩子.事实上,当我在测试脚本的末尾添加了一个die()调用时,我得到了......
# Looks like your test died just after 7.
Run Code Online (Sandbox Code Playgroud)
所以我的脚本退出了,但由于某种原因,线束没有解开.
我确实确认我的子流程肯定是令我感到不安的,因为我在禁用它们的同时测试失败,线束正确退出.
我在启动可能以某种方式扰乱线束的过程的方式有什么问题吗? …
我试图在我的Linux机器上安装newgem(sudo gem install newgem),我收到以下错误:
Building native extensions. This could take a while...
ERROR: Error installing newgem:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb install newgem
extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:1
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/RedCloth-4.0.4 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/RedCloth-4.0.4/ext/redcloth_scan/gem_make.out
Run Code Online (Sandbox Code Playgroud)
问题是什么?
我从MySQL(使用ODBC)到MS SQL数据库的移动,我想"翻译" SQL查询LINQ.有人可以帮我这个(它应该为每个位置的SUM Charge列和几个月的组结果):
SELECT
sum(case when Location="Location1" then Charge else 0 end) as Location1,
sum(case when Location="Location2" then Charge else 0 end) as Location2,
sum(case when Location="Location3" then Charge else 0 end) as Location3,
MAKEDATE(YEAR(OrderTime),DAYOFYEAR(OrderTime)) AS date FROM Sales
GROUP BY YEAR(OrderTime),MONTH(OrderTime)
ORDER BY OrderTime DESC
Run Code Online (Sandbox Code Playgroud)
?
输出应如下所示:
Location1 | Location2 | Location3 | date
Run Code Online (Sandbox Code Playgroud)
编辑:
我试着从这里使用LINQ示例:
var query = context.log_sales
.GroupBy(c => c.OrderTime)
.Select(g => new
{
Date = g.Key,
Location1 = g.Where(c => c.Location == "Location1").Sum(c …Run Code Online (Sandbox Code Playgroud) 我目前正在编写我的第一个Windows Forms应用程序.我现在已经阅读了一些C#书籍,所以我对C#处理异常的语言功能有了比较深入的了解.它们都非常理论化,所以我还没有想到如何在我的应用程序中将基本概念转换为一个良好的异常处理模型.
有人愿意分享关于这个主题的任何智慧珍珠吗?发布你看过像我这样的新手所犯的常见错误,以及处理异常的一般建议,使我的应用程序更加稳定和健壮.
我目前正在努力解决的主要问题是:
感谢所有建议!
为什么Visual Studio需要这么长时间才能从解决方案树中删除文件?该应用程序冻结并坐在那里感觉像永恒.
如果我首先从文件系统中删除该文件,然后在解决方案中将其删除,它会立即发生.
我可以设置一个选项以避免这种情况吗?
假设我正在为已经拥有People应用程序的出版公司编写一个Library应用程序.
所以在我的图书馆应用程序中我有
class Person < ActiveResource::Base
self.site = "http://api.people.mypublisher.com/"
end
Run Code Online (Sandbox Code Playgroud)
现在我想Article为每个存储s Person:
class Article < ActiveRecord::Base
belongs_to :person, :as => :author
end
Run Code Online (Sandbox Code Playgroud)
我想我的数据库中有以下表格:
Articles
id (PK) | title (string) | body (text) | author_id (integer)
Run Code Online (Sandbox Code Playgroud)
author_id不完全是外键,因为我没有People表.这留下了几个问题:
我怎么告诉我的Person ActiveResource对象呢has_many Articles?
会Articles.find(:first).author工作吗?会belongs_to甚至工作因为没有ActiveRecord,没有支撑台?
在Google C++样式指南中,有关运算符重载的部分建议不要重载任何运算符("在罕见的特殊情况下除外").具体来说,它建议:
特别是,不要重载
operator==或operator<只是使您的类可以用作STL容器中的键; 相反,您应该在声明容器时创建相等和比较函数类型.
我对这样的仿函数看起来有点模糊,但我的主要问题是,你为什么要为此编写自己的仿函数?不会定义operator<,并使用标准std::less<T>函数,更简单?使用一个优于另一个是否有任何优势?
我需要比较shell中的字符串:
var1="mtu eth0"
if [ "$var1" == "mtu *" ]
then
# do something
fi
Run Code Online (Sandbox Code Playgroud)
但显然"*"在壳牌中不起作用.有办法吗?