我的数据库实际上不是客户和订单,它是客户和眼科测试的处方(以防万一有人想知道为什么我希望我的客户不那么频繁地下订单!)
我有一个眼镜商链数据库,处方表有分支ID号,患者ID号和他们测试眼睛的日期.随着时间的推移,患者将在数据库中列出多个眼睛测试.如何获得六个月内在系统上输入一次以上处方的患者名单.换言之,例如,一个处方的日期是在同一患者的先前处方的日期之后的三个月内.
样本数据:
Branch Patient DateOfTest
1 1 2007-08-12
1 1 2008-08-30
1 1 2008-08-31
1 2 2006-04-15
1 2 2007-04-12
Run Code Online (Sandbox Code Playgroud)
我不需要知道结果集中的实际日期,也不需要完全是三个月,只是一个处方太接近以前处方的患者列表.在给出的示例数据中,我希望查询返回:
Branch Patient
1 1
Run Code Online (Sandbox Code Playgroud)
这种查询不会经常运行,所以我不会过分担心效率问题.在我们的实时数据库中,我在处方表中有25万条记录.
不确定我是否正确说明了这一点......但我有以下代码:
public Guid ItemId
{
get;
}
public TransactionItem()
{
this.ItemId = Guid.Empty;
}
Run Code Online (Sandbox Code Playgroud)
当然我得到一个只读的问题......我明白了.无论如何设置此属性值而不必执行以下操作:
Guid _itemId = Guid.Empty;
public Guid ItemId
{
get
{
return _itemId;
}
set
{
_itemId = value;
}
}
Run Code Online (Sandbox Code Playgroud)
要么
public Guid ItemId
{
get;
internal set;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我目前正在开发一个简单的Java游戏,有几种不同的模式.我扩展了一个主要的Game类,将主要逻辑放在其他类中.尽管如此,主要的游戏类仍然非常沉重.
在快速浏览一下我的代码后,其中大部分是Getters and Setters(60%),而其余部分则是游戏逻辑真正需要的.
一些谷歌搜索声称Getters和Setters是邪恶的,而其他人声称他们是良好的OO练习和伟大的程序所必需的.
所以我该怎么做?应该是哪个?我应该为我的私人变量更改我的Getters和Setter,还是应该坚持使用它们?
我需要在交互式应用程序中管理CPU繁重的多任务作业.同样背景,我的具体应用是工程设计界面.当用户调整模型的不同参数和选项时,会在后台运行多个模拟,并在完成时显示结果,即使用户仍在编辑值时也是如此.由于多次模拟需要可变时间(有些是几毫秒,有些需要5秒,有些需要10分钟),所以基本上是尽可能快地显示反馈,但通常会中止以前开始但现在不再需要的作业,因为用户的更改已经使它们无效.不同的用户更改可能使不同的计算无效,因此在任何时候我可能有10个不同的模拟运行.
我非常有信心处理这种应用程序的代码级方法是某种多线程作业队列.这将包括提交作业以执行,设置任务优先级,等待作业完成,指定依赖项(执行此作业,但仅在作业X和作业Y完成后),取消符合某些条件的作业子集,查询内容的功能工作仍然存在,设置工作线程计数和优先级等等.多平台支持也非常有用.
这些不是软件中的新想法或愿望,但我处于应用程序的早期设计阶段,我需要选择用于管理此类任务的库.我过去在C中编写了我自己的粗线程管理器(我认为这是一个通过的仪式)但我想使用现代工具来开展我的工作,而不是我以前的hacks.
首先想到的是运行OpenMP,但我不确定这是我想要的.OpenMP非常适合在精细级别进行并行化,自动展开循环等.虽然是多平台,但它也会用#pragmas侵入您的代码.但主要是它不是为管理大型任务而设计的.尤其是取消挂起的作业或指定依赖项.可能,是的,但它并不优雅.
我注意到Google Chrome使用这样的作业管理器来完成最琐碎的任务.设计目标似乎是保持用户交互线程尽可能轻巧灵活,因此任何可以异步生成的东西都应该是.从查看Chrome源代码来看,这似乎不是一个通用库,但看看设计如何使用异步启动来保持交互速度仍然很有趣.这与我正在做的类似.
还有其他选择:
Surge.Act:用于定义作业的类似Boost的库.它建立在OpenMP之上,但允许链接依赖项,这很好.它似乎并不觉得它有一个可以查询的经理,取消工作等等.这是一个陈旧的项目所以依赖它是可怕的.
Job Queue非常接近我的想法,但它是一篇5年前的文章,而不是受支持的库.
Boost.threads确实有很好的平台独立同步,但那不是一个职业经理.POCO具有非常干净的任务启动设计,但同样不是链接任务的完整经理.(也许我低估了POCO).
因此,虽然有可用的选项,但我不满意,我觉得再次推出自己的库的冲动.但我宁愿使用已经存在的东西.即使在搜索之后(这里在SO和网上)我也没有发现任何感觉正确的东西,尽管我认为这必须是一种经常需要的工具,所以肯定有一些社区库或至少是常见的设计.在SO上有关于工作队列的一些帖子,但似乎没有任何东西适合.
我在这里的帖子是问你所有我错过的现有工具,和/或你如何推出自己的多线程作业队列.
在C中处理大量数字的最简单方法是什么?我需要在区域1000 ^ 900中存储值...
有人知道一个简单的方法吗?真的很感激任何帮助!
我想在事件处理程序(如按钮单击事件)中向用户控件添加控件.
我正在尝试动态添加datagridview查找控件,但我无法使其工作,所以我尝试添加一个带有此代码的按钮:
private void btnCreateNewButton_Click(object sender, EventArgs e)
{
Button btn = new Button();
btn.Location = new Point(100, 640);
btn.Size = new Size(100, 30);
btn.Text = "Click Me";
btn.Click += (s, ea) => MessageBox.Show("New button clicked");
this.Controls.Add(btn);
}
Run Code Online (Sandbox Code Playgroud)
当我单击"创建新按钮"时,不会显示任何按钮.
如果我将完全相同的代码添加到表单而不是用户控件中,则会创建按钮并按预期显示,但在用户控件中没有任何反应.在用户控件中我也试过了
this.Parent.Controls.Add(btn) and
this.ParentForm.Controls.Add(btn)
Run Code Online (Sandbox Code Playgroud)
但无济于事.
有人有任何想法吗?
谢谢,Ciaran.
我在给我的客户的合同中有一个版权部分,声称我保留了作为独立承包商在我工作期间制作的任何作品的版权.这绝对不是为了对我的客户施加任意限制,而是为了保持我决定如何创建和分发我创建的软件的能力.几乎我工作的每个项目都会导致其中至少有一部分作为开源发布.我工作的每个项目都使用以相同方式发布的第三方软件,因此我希望继续这样做.
不幸的是,在定义客户使用所述软件的权利时,合同并不那么明确.我提到代码将被许可给他们,但是没有提到有关排他性,生产衍生品的能力等的细节.
因此,客户对我的合同的版权部分提出了担忧,并建议我改写它,以便所有版权在项目的最终付款时完全转移给客户.这几乎肯定会降低我分发我创建的软件的能力; 我更愿意找到一个更具互利性的协议,我们的担忧都得到了解决.
在这种情况下,是否有任何经过验证的软件许可方法?总结一下:
我意识到每个人的反馈都将以"IANAL"为前缀,但我很感激您对此事的任何想法.
如何以自定义方式在Zend Framework应用程序中实现jquery.
我第一次使用jquery,我做错了什么?