问题列表 - 第24828页

MS SQL日期时间精度问题

我有一种情况,两个人可能从两台不同的计算机上处​​理相同的订单(存储在MS SQL数据库中).为了防止数据丢失,如果首先保存他的订单副本,然后稍后第二个将保存他的副本并覆盖第一个,我在保存之前添加了对lastSaved字段(datetime)的检查.

代码看起来大致如下:

private bool orderIsChangedByOtherUser(Order localOrderCopy)
{
    // Look up fresh version of the order from the DB
    Order databaseOrder = orderService.GetByOrderId(localOrderCopy.Id);

    if (databaseOrder != null &&
        databaseOrder.LastSaved > localOrderCopy.LastSaved)
    {
        return true;
    }
    else
    {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

这大部分时间都有效,但我发现了一个小bug.

如果orderIsChangedByOtherUser返回false,则本地副本将其lastSaved更新为当前时间,然后保留到数据库.现在,本地副本和DB中的lastSaved值应该相同.但是,如果再次运行orderIsChangedByOtherUser,即使没有其他用户对DB进行更改,它有时也会返回true.

在Visual Studio中进行调试时,databaseOrder.LastSavedlocalOrderCopy.LastSaved似乎具有相同的值,但是当仔细观察时,它们会有几次相差几毫秒.

我发现这篇文章是关于SQL中datetime的毫秒精度的简短注意事项:

另一个问题是SQL Server以3.33毫秒(0. 00333秒)的精度存储DATETIME.

我能想到的解决这个问题的方法是比较两个日期时间,如果相差小于10毫秒,则认为它们相等.

那么我的问题是:有没有更好/更安全的方法来比较MS SQL中的两个日期时间值,看它们是否完全相同

sql sql-server precision datetime

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

在Bash中使用参数的Perl标准输入

我希望在bash中有这样的管道

#! /usr/bin/bash
cut -f1,2 file1.txt | myperl.pl foo | sort -u 
Run Code Online (Sandbox Code Playgroud)

现在myperl.pl 它有这样的内容

my $argv = $ARG[0] || "foo";

while (<>) {
 chomp;
 if ($argv eq "foo") {
  # do something with $_
 }
 else {
   # do another
 }
}
Run Code Online (Sandbox Code Playgroud)

但是为什么Perl脚本无法识别通过bash传递的参数?即代码打破此消息:

Can't open foo: No such file or directory at myperl.pl line 15.
Run Code Online (Sandbox Code Playgroud)

正确的方法是什么,以便我的Perl脚本可以同时接收标准输入和参数?

unix linux bash perl stdin

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

如何在JSTL中格式化日期

我有一个循环,遍历我们网站上的所有新闻.其中一个字段是date ${newsitem.value['Date']},以毫秒为单位.我想在网页上以月/日/年格式显示此日期.我认为JSTL格式标签<fmt:formatDate>会有所帮助,但我还没有成功.你知道怎么做吗?

<cms:contentaccess var="newsitem" />
<h2><c:out value="${newsitem.value['Title']}" /></h2>
// display date here        
<c:out value="${newsitem.value['Text']}"  escapeXml="false" />
Run Code Online (Sandbox Code Playgroud)

datetime jstl formatdatetime

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

Java:套接字还是RMI?

我需要将我们的应用程序分成轻量级的gui应用程序和业务逻辑应用程序.这不是客户端/服务器设置,因为"服务器"组件将只有一个客户端.

应用程序的另一个限制是它只有一个入口/出口点.因此,如果我们使用RMI,它只会在一个函数上.所有表单数据已经包装成一个字符串并通过一个传输区域.

我应该只使用Java套接字来增强此应用程序,还是使用RMI?还是其他一些Java技术?

我之前的帖子概述了我们的应用程序的要求,但它没有得到答复./sf/ask/182316991/

干杯.

java sockets client-server rmi

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

为什么面向对象的"私有"方法?

我知道这是oops中一个非常基本的概念.但我仍然无法理解.我理解为什么成员变量是私有的,因此类用户不能通过设置无效值来滥用它.

但这怎么能适用于这些方法呢?

oop encapsulation

44
推荐指数
5
解决办法
4万
查看次数

JPA:继承 - 在生成的SQL中未考虑Discriminator值

我尝试使用这个映射:

@Entity
@Table(name="ecc.\"RATE\"")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="DISCRIMINATOR", discriminatorType= DiscriminatorType.STRING)
public abstract class Rate extends GenericBusinessObject {
...
}

@Entity
@DiscriminatorValue("E")
public class EntranceRate extends Rate { 
 @ManyToOne
 @JoinColumn(name = "\"RATES_GRID_ID\"")
 protected RatesGrid ratesGrid;
...
}


@Entity
@Table(name="ecc.\"RATES_GRID\"")
public class RatesGrid extends GenericBusinessObject {
 /** */
 @OneToMany(mappedBy = "ratesGrid",  targetEntity = EntranceRate.class, fetch=FetchType.LAZY)
 private List<EntranceRate> entranceRates;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试entranceRatesratesGrid对象访问我的列表时,我收到此错误:

Object with id: 151 was not of the specified subclass: com.ecc.bo.rate.EntranceRate (loaded object was of wrong class class com.ecc.bo.rate.AnnualRate)
Run Code Online (Sandbox Code Playgroud)

看看生成的sql,我在where子句中找不到"discriminator ="的痕迹.我究竟做错了什么 …

java sql inheritance hibernate jpa

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

iframe访问父DOM?

如何在一个脚本中<iframe>包含包含它的页面的任何概念?框架中的脚本可以访问它之外的任何上下文吗?跨域怎么样?

到目前为止,我认为对于包含页面<iframe>完全不可知的,但我看到了一个与此信念相矛盾的例子.

<iframe>在包含页面的内容中究竟能做什么和不能做什么?

html javascript iframe cross-domain

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

.NET中的Erlang风格轻量级进程

有没有办法在.NET中实现Erlang风格的轻量级进程?

我找到了一些实现Erlang消息传递模型(actor模型)的项目.例如,阿克苏姆.但我没有发现轻量级流程的实现.我指的是在单个OS线程或OS进程的上下文中运行的多个进程.

.net c# concurrency erlang lightweight-processes

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

将内存中的pdf转换为byte []

我正在C#中编写一个websercive,它将生成pdf文件并作为byte []发送回调用者.pdf文件是使用第三方组件生成的,但我正在努力进行转换.pdf只是Web服务中的内存中对象,在将生成的pdf返回给调用者之前,我找不到将生成的pdf转换为byte []的任何好方法.有什么建议吗?

编辑澄清:

我正在使用pdf内存中对象(确切地说是Aspose.pdf Pdf-object),它是使用发送到Web服务的数据在Web服务中构建的.它永远不会被web服务保存,调用者应该将byte []转换回pdf文件并将其保存在结尾.

c# web-services bytearray

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

多线程和布尔值

我有一个包含像这样的布尔字段的类:

public class MyClass
{
    private bool boolVal;
    public bool BoolVal
    {
        get { return boolVal; }
        set { boolVal = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

可以使用该属性从许多线程读取和写入该字段.我的问题是我是否应该使用锁定语句来阻止getter和setter?或者我应该只使用volatile关键字并保存锁定?或者我应该完全忽略多线程,因为获取和设置布尔值原子?

问候,

.net multithreading

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