我最近在我的数据库(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字段在那里,因此用户可以指定自己的自定义排序顺序.由于所有相关表也共享这两个相同的列,因此很容易创建一个简单的接口来以通用方式处理排序(和禁用).
假设我们有一个长方形的海.它非常大 - 10000x20000.
我们也有岛屿.为简单起见,我们假设它们也是矩形的.我们知道它们的确切位置(坐标).
如果我们在地图上的某个地方有一艘船 - (x1,y1),我们怎样才能找到到地图上另一个点的最短路径(x2,y2)而不经过任何岛屿?
更新:到目前为止,没有任何限制 - 对于船舶或海洋.如果我们可以通过添加一些来简化(和加速)事情 - 这是非常受欢迎的.
路径甚至不一定是最好的 - 例如可以10%折扣 - 完全可以接受.
我有三个表:呼叫,附件和备注,我想显示呼叫表中的所有内容,还显示呼叫是否有附件以及呼叫是否有备注. - 通过确定是否存在带有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)
给我一个所有电话和附件数量的列表.
如何添加包含注释数量的列或指示有注释的列?
有任何想法吗?
谢谢.
如何自动更改字母之间的空格.我希望文本占据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) 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的数组?
如何访问此元素:
<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文档中(这件事对我来说都是新的).
我被困在这几个小时,所以我真的需要我能得到的所有帮助.
提前致谢.
我有一个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)
提前致谢.
我知道你可以像这样创建一个数组:
$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)
创建一个数组开始的额外开销似乎很浪费,是否可以简单地创建一个对象,然后以某种方式添加名称值对,就像我对数组一样?
谢谢
我需要一个抽象的超类.
我有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) 我使用了Marc Gravell在SO中给出的代码来解压缩文件
并在此行中得到此错误 while ((myEntry = s.GetNextEntry()) != null)
ICSharpCode.SharpZipLib.Zip.ZipException: Wrong Local header signature: 0xAFBC7A37
Run Code Online (Sandbox Code Playgroud)
任何建议??