问题列表 - 第40497页

根据另一个字段的字母顺序设置排序顺序字段

我最近在我的数据库(SQL Server 2005)中的一些表中添加了几个字段,以允许用户自定义行的排序顺序.我对所有表都遵循了这种模式:

-- Alter the InvoiceStatus table
ALTER TABLE [dbo].[InvoiceStatus] ADD [Disabled] bit NOT NULL DEFAULT 0
GO
ALTER TABLE [dbo].[InvoiceStatus] ADD [SortOrder] int NOT NULL DEFAULT 0
GO
-- Use the primary key as the default sort order
UPDATE [dbo].[InvoiceStatus]
   SET [SortOrder] = [InvoiceStatusId]
GO
Run Code Online (Sandbox Code Playgroud)

通常,正如您所看到的,我使用主键作为默认排序顺序.然而,我现在处于这样的情况:我想使用表中文本字段的字母顺序作为默认排序顺序.

使用上面的表作为一个例子(有一个文本字段[InvoiceStatusName]),是否有一个类似的好的和简短的查询我可以编写使用字母顺序[InvoiceStatusName]作为默认排序顺序?

更新:
问题已经得到解答,但有些人已经指出这个解决方案可能并不理想,所以我只想为将来的参考添加一些上下文.这是一个旧系统(不是传统的旧系统,但它已经存在了很多年)使用了一些不同的地方.

应用程序中有多个列表/下拉列表,具有典型的"状态"类型(例如发票状态,订单状态,客户类型等).回到首次编写系统时,这些是每个地方都在使用的标准值(不打算以任何方式进行更改),但是有些用户已经开始请求添加新状态的功能,删除不再使用的状态并指定自定义排序顺序(可能更频繁地使用一种状态,因此将其放在列表顶部是很好的).

我发现这样做的最简单的方法(不必乱用太多的旧代码)是添加两个新字段,Disabled并且SortOrder,添加到所有相关表.该Disabled字段用于"隐藏"未使用的类型(由于引用完整性而无法删除它们,并且还需要保留它们保存的值),并且该SortOrder字段在那里,因此用户可以指定自己的自定义排序顺序.由于所有相关表也共享这两个相同的列,因此很容易创建一个简单的接口来以通用方式处理排序(和禁用).

sql sql-server sql-server-2005

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

船舶运动算法

假设我们有一个长方形的海.它非常大 - 10000x20000.

我们也有岛屿.为简单起见,我们假设它们也是矩形的.我们知道它们的确切位置(坐标).

如果我们在地图上的某个地方有一艘船 - (x1,y1),我们怎样才能找到到地图上另一个点的最短路径(x2,y2)而不经过任何岛屿?

更新:到目前为止,没有任何限制 - 对于船舶或海洋.如果我们可以通过添加一些来简化(和加速)事情 - 这是非常受欢迎的.

路径甚至不一定是最好的 - 例如可以10%折扣 - 完全可以接受.

algorithm geometry path-finding

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

SQL COUNT()/ LEFT JOIN?

我有三个表:呼叫,附件和备注,我想显示呼叫表中的所有内容,还显示呼叫是否有附件以及呼叫是否有备注. - 通过确定是否存在带有call_id的附件或注释记录.可能有笔记和附件,或者可能没有,但我需要知道.

表结构:

要求:

call_id  |  title  |  description  
Run Code Online (Sandbox Code Playgroud)

附件:

attach_id  |  attach_name  |  call_id  
Run Code Online (Sandbox Code Playgroud)

笔记:

note_id  |  note_text  |  call_id  
Run Code Online (Sandbox Code Playgroud)

如果我写:

SELECT c.call_id
     , title
     , description
     , count(attach_id) 
FROM calls c 
LEFT JOIN attachments a ON c.call_id = a.call_id 
GROUP BY c.call_id
       , title
       , description
Run Code Online (Sandbox Code Playgroud)

给我一个所有电话和附件数量的列表.

如何添加包含注释数量的列或指示有注释的列?

有任何想法吗?

谢谢.

sql t-sql count left-join

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

CSS,用文本填充所有div宽度

如何自动更改字母之间的空格.我希望文本占据div的整个宽度.文字不是静态的.(始终更改文本,可以是123"或"文本文本"...)

  <style type="text/css">
    #menu{
      width: 200px;
      background-color: #000;
      color: #336699;
      font-size: 16px;
      letter-spacing: 100%;
    }
  </style>
<body>
<div id="menu">
  tekstas
</div>
Run Code Online (Sandbox Code Playgroud)

html css

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

使用split获取给定String的所有1个字符长子串的数组

public static void main(String args[]) {
    String sub="0110000";
    String a[]=sub.split("");
    System.out.println(Arrays.toString(a));
}
Run Code Online (Sandbox Code Playgroud)

我把输出作为

[, 0, 1, 1, 0, 0, 0, 0]
Run Code Online (Sandbox Code Playgroud)

为什么第一个元素为空?我怎样才能在开始时获得一个没有null的数组?

java arrays string

4
推荐指数
2
解决办法
307
查看次数

HtmlUnit访问没有id或Name的元素

如何访问此元素:

<input type="submit" value="Save as XML" onclick="some code goes here">
Run Code Online (Sandbox Code Playgroud)

更多信息:我必须以编程方式访问网页并模拟单击其上的按钮,然后生成一个xml文件,我希望能够保存在本地计算机上.
我试图通过使用HtmlUnit库来实现,但我可以找到的所有示例都使用getElementById()getElementByName()方法.不幸的是,这个确切的元素没有名称或Id,所以我失败了.我当时认为我要做的就是使用getByXPath()方法,但我完全迷失在XPath文档中(这件事对我来说都是新的).
我被困在这几个小时,所以我真的需要我能得到的所有帮助.
提前致谢.

java xpath htmlunit

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

如何仅在文档加载时显示UL中的前3个元素?

我有一个List(UL),它有一个.more_stories类,UL包含LI.

我在默认情况下使用此代码隐藏它们:

$('ul.more_stories li').css({'display': 'none'});
Run Code Online (Sandbox Code Playgroud)

现在我想在此之后显示UL内的前3个li项目.我怎么能在jQuery中做到这一点?

注意:我有几个同类的UL.

我尝试了,我得到了意想不到的结果..

// more stories
$('ul.more_stories li').css({'display': 'none'});
$('ul.more_stories li:gt(2)').show();
Run Code Online (Sandbox Code Playgroud)

提前致谢.

javascript jquery

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

PHP中的简单对象问题[新手]

我知道你可以像这样创建一个数组:

$a = array();
Run Code Online (Sandbox Code Playgroud)

并向其添加新的名称值对,如下所示:

$a['test'] = 'my new value';
Run Code Online (Sandbox Code Playgroud)

甚至可以省略第一行,虽然做法不好!

我发现对象更容易阅读和理解,所以我所做的是获取名称值对的数组并将其转换为对象:

$a = (object)$a;
Run Code Online (Sandbox Code Playgroud)

因此我可以访问参数:

$a->test;
Run Code Online (Sandbox Code Playgroud)

创建一个数组开始的额外开销似乎很浪费,是否可以简单地创建一个对象,然后以某种方式添加名称值对,就像我对数组一样?

谢谢

php oop object

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

Discriminator,WrongClassException JPA和Hibernate后端

我需要一个抽象的超类.

我有6个子类用于该抽象超类.

我使用JPA中的SINGLE_TABLE继承策略映射它们.

在另一个POJO中,我与这些1 + 6类有一对多的关系.

@OneToMany(mappedBy = "mSearchPreference", cascade = CascadeType.ALL)
private Set<SearchCriteria> mSearchCriteria;
Run Code Online (Sandbox Code Playgroud)

这里"SearchCriteria"是抽象类.

@Entity
@Table(name = "SRCH_CRTR_T", schema = "LPEW")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "SRCH_DISCRIMINATOR_CDE", discriminatorType = DiscriminatorType.STRING)
@org.hibernate.annotations.ForceDiscriminator
public abstract class SearchCriteria extends BaseDBObject implements Comparable<SearchCriteria>
Run Code Online (Sandbox Code Playgroud)

它有6个具体的子类类

@Entity
@DiscriminatorValue("DATE")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
public class SearchCriteriaDateRange extends SearchCriteria
Run Code Online (Sandbox Code Playgroud)

我可以将值插入表中,但是当我检索时出现错误:

Caused by: org.hibernate.WrongClassException: Object with id: 261 was not of the specified subclass: com.lmig.lit.lpew.model.criteria.SearchCriteria (Discriminator: DATE  )
    at org.hibernate.loader.Loader.getInstanceClass(Loader.java:1453)
    at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1284)
    at org.hibernate.loader.Loader.getRow(Loader.java:1206)
    at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580)
    at org.hibernate.loader.L
10:57:44,786 INFO  [STDOUT] oader.doQuery(Loader.java:701) …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa

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

解压缩文件错误?

我使用了Marc Gravell在SO中给出的代码来解压缩文件

解压缩文件错误

并在此行中得到此错误 while ((myEntry = s.GetNextEntry()) != null)

ICSharpCode.SharpZipLib.Zip.ZipException: Wrong Local header signature: 0xAFBC7A37
Run Code Online (Sandbox Code Playgroud)

任何建议??

c#

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