问题列表 - 第1616页

存储/访问有向图的最佳方式

我有大约3500个防洪设施,我想将其表示为确定流路径的网络(基本上是有向图).我目前正在使用SqlServer和CTE递归检查所有节点及其上游组件,只要上游路径不分叉,这就可以工作.然而,由于增加了上游复杂性,一些查询比其他查询指数长得多,即使它们在物理上不太远(即两个或三个"下游"段).在某些情况下,我会在杀死查询之前让它超过十分钟.我正在使用一个简单的双列表,一列是设施本身,另一列是第一列中列出的设施的上游设施.

我尝试使用当前工具添加索引以帮助加快速度,但这没有任何区别.并且,对于图中可能的连接,任何节点可以具有多个上游连接,并且可以从多个"下游"节点连接.

当然有可能在数据中有循环,但我还没有找到一种好的方法来验证这一点(除了CTE查询报告最大递归计数命中时;这些很容易修复).

所以,我的问题是,我存储这些信息是错误的吗?有没有比CTE更好的方法来查询上游点?

rdbms directed-graph common-table-expression

12
推荐指数
2
解决办法
4254
查看次数

使用哪个.Net Timer()

我在VB.Net 2.0中有一个遗留的WinForms Mdi应用程序,我正在添加功能.其中一个补充是当当前时间接近指定值(截止日期)时需要提出的警告.我的目的是每小时检查一次,直到截止日期前不到一小时,然后按指定的时间间隔显示警告,直到时间结束.

用户需要能够在截止日期之前甚至在截止日期之后继续使用应用程序,但他们需要定期了解截止日期的接近程度.

该应用程序尚未使用System.Threading,目前我对它的了解有限.我知道有3种不同的Timer()方法可用:

  • System.Threading.Timer()
  • Windows.Forms.Timer()和
  • System.Timers.Timer()

我的问题是,这是最好的方法吗?我试图使用线程计时器,但由于WinForms不是线程安全的,我试图访问另一个类时遇到运行时错误.是否值得使类/表单线程安全?我完全偏离了轨道吗?

谢谢.

vb.net multithreading timer winforms

5
推荐指数
2
解决办法
9571
查看次数

如何在PHP中迭代DOM元素?

我有一个XML文件加载到DOM文档中,我希望迭代所有'foo'标记,从它下面的每个标记获取值.我知道我可以通过

$element = $dom->getElementsByTagName('foo')->item(0);
foreach($element->childNodes as $node){
    $data[$node->nodeName] = $node->nodeValue;
}
Run Code Online (Sandbox Code Playgroud)

但是,我正在尝试做的是来自XML,

<stuff>
  <foo>
    <bar></bar>
      <value/>
    <pub></pub>
  </foo>
  <foo>
    <bar></bar>
    <pub></pub>
  </foo>
  <foo>
    <bar></bar>
    <pub></pub>
  </foo>
  </stuff>
Run Code Online (Sandbox Code Playgroud)

迭代每个foo标记,获取特定的barpub,并从那里获取值.现在,我如何迭代foo以便仍然可以按名称访问特定的子节点?

php xml dom

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

C#中修饰符的顺序是否有约定?

如果我要使用多个,我应该使用修饰符关键字,例如:

public,private,protected,virtual,abstract,override,new,static,internal,sealed,,我忘了其他任何.

c#

26
推荐指数
2
解决办法
9859
查看次数

有没有人为GUI销售点系统提供数据库,编程语言/框架建议?

我们公司有一个销售点系统,有许多附加功能,如订购和接收功能,销售和订单历史等.我们的主要问题是系统设计不正确,因此修复和修复需要很长时间.处理客户的要求.此外,我们正在使用的当前技术(Progress数据库,语言的Progress 4GL)由于数据库连接的多用户许可费等而对我们的客户产生了相当多的许可费用.

经过大量讨论后,看起来我们可能会从头开始(至少暂时保留当前产品).我们正在寻找以下几点:

  1. 使用一个漂亮的GUI前端创建系统(它当前是CHUI,并且应用程序的构建方式不允许我们重新设计前端......没有分层或分离业务逻辑和gui ......不寒而栗).

  2. 创建具有模块化不同功能的系统,使产品不必包含所有功能.这将为我们当前希望获得基本功能和更低价格标签的客户降低成本.那些想要它们的人可以使用铃声和口哨声.

  3. 使用适当的设计模式可以使产品随时轻松添加或更改任何部件(即更改数据库或更改前端而无需重写应用程序或大部分应用程序).这是今天的问题,因为Progress 4GL代码是直接针对数据库编译的.数据库中的小变化需要大量代码重新编译.

我们的新系统将基于Linux,客户端应用程序可以从一个或多个窗口框中提供功能.

所以我正在寻找的是关于哪些数据库和/或框架或编程语言可能会推荐给这类产品的任何建议.任何在这个领域有经验的人都可以指出我们正确的方向,甚至有一些想要避免的想法.我们已经考虑过.NET和SQL Express(我们不需要企业级数据库),但这会限制我们使用Windows(据我所知).我听说过Mono在Linux环境下编写.NET代码,但我对此还不太了解.我们还考虑了基于Java和MySql的实现.

总结一下,我们希望做到以下几点:

  1. 将许可成本降低到我们用于开发产品的技术上(Oracle,yikes!MySQL,很好.)

  2. 提供易于维护和支持的解决方案.

  3. 具有能够通过CHUI前端在"旧"硬件上运行的组件的解决方案.(我们的一些客户拥有40多个终端,为了转换为PC,需要大量现金).

建议将不胜感激.

谢谢

[更新]我应该注意到,我们目前正在进行总成本分析.这个问题旨在为我们提供一些"受过教育的"选项,以便考虑纳入或分析.任何可以分享有关客户端/服务器设置的经验/建议的人都会受到赞赏(不仅仅是那些有销售点系统经验的人......这只是一个奖励).

[UPDATE]

对于任何有兴趣的人,我们最终选择了Microsoft Dynamics NAV,LS Retail(销售点和其他各种东西的插件),然后做了一些(现在正在进行)定制工作.这种设置为我们提供了一个完全集成的g/l系统的额外好处,这是我们当前系统所缺乏的.

database frameworks client-server point-of-sale

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

C#Generics不允许委托类型约束

是否可以在C#中定义一个类

class GenericCollection<T> : SomeBaseCollection<T> where T : Delegate
Run Code Online (Sandbox Code Playgroud)

我无法为我的生活在.NET 3.5中完成这一切.我试过用

delegate, Delegate, Action<T> and Func<T, T>

在我看来,这应该是允许的某种方式.我正在尝试实现自己的EventQueue.

我最终只是这样做[原始近似注意你].

internal delegate void DWork();

class EventQueue {
    private Queue<DWork> eventq;
}
Run Code Online (Sandbox Code Playgroud)

但是后来我失去了为不同类型的函数重用相同定义的能力.

思考?

c# generics events delegates constraints

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

CIL堆栈交换指令

是否有CIL指令来交换堆栈中的前两个元素?

cil

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

如何解决ReSharper对类继承的错误"不明确的引用"?

在我的项目中,我有一个由许多其他类继承的类.我们称之为ClassBase.

public class ClassInheritFromBase : ClassBase
Run Code Online (Sandbox Code Playgroud)

当继承ClassBase时,ReSharper会在ClassBase上抛出"不明确的引用"警告,并且继承自ClassBase的新类中的任何内容都没有IntelliSense,并且会收到无法找到它的警告.

该项目编译并运行良好.

如果我更改了ClassBase所在的命名空间然后更改了继承类,它们就会发现它很好并且ReSharper没有问题,IntelliSense可以工作......直到它被编译.在编译之后,它会回到模糊的引用警告和其他所有内容.

之前有过这种情况吗?如何修复?我在JetBrains中看到了一个跟踪问题的条目就像这样,但是他们因为无法重现而将其关闭.

resharper

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

在存储过程中使用三态参数

这样做的正确方法是什么?例如,如何使用此签名更改存储过程:

CREATE PROCEDURE dbo.MyProcedure
  @Param BIT = NULL
AS
  SELECT *
  FROM dbo.SomeTable T
  WHERE T.SomeColumn = @Param
Run Code Online (Sandbox Code Playgroud)

为@Param赋值1或0执行过滤器,但不指定它或传递NULL不执行过滤?

sql stored-procedures

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

你会展示一个Actor在用例图上不能做的事吗?

在用例图上,您可以显示演员不能做的事情,例如因为他们没有权限这样做吗?

或者它是否只是暗示,因为他们没有一条线将它们连接到特定的用例?

uml use-case

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