小编Eri*_*ric的帖子

如何在具有可能空值的字段上创建唯一索引(Oracle 11g)?

以下是包含3列的示例表(ID,UNIQUE_VALUE,UNIQUE_GROUP_ID)

我希望以下记录可以被允许:

(1, NULL, NULL)
(2, NULL, NULL)
Run Code Online (Sandbox Code Playgroud)

要么

(3, NULL, 7)
(4, 123, 7)
Run Code Online (Sandbox Code Playgroud)

或(注:此条件中不允许unique index,也没有unique constraint)

(5, NULL, 7)
(6, NULL, 7)
Run Code Online (Sandbox Code Playgroud)

这些是不允许的:

(7, 123, 7)
(8, 123, 7)
Run Code Online (Sandbox Code Playgroud)

我在最后2列创建了一个唯一索引,但只允许前两个示例.

是否可以让db只在两者都不为空时检查这两列的唯一性?

sql database oracle indexing

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

COUNT()上的oracle性能问题

我使用的是Oracle 11g,主表有大约1000万条记录.这是我的查询:

SELECT COUNT (*)
  FROM CONTACT c INNER JOIN STATUS S ON C.STATUS = S.STATUS
 WHERE C.USER = 1 AND S.REQUIRE = 1 AND ROWNUM = 1;
Run Code Online (Sandbox Code Playgroud)

成本是3736,但当我将其更改为此形式时:

SELECT COUNT (*) FROM
  (SELECT 1 FROM CONTACT c INNER JOIN STATUS S ON C.STATUS = S.STATUS
  WHERE C.USER = 1 AND S.REQUIRE = 1 AND ROWNUM = 1);
Run Code Online (Sandbox Code Playgroud)

成本变为5!这两个查询有什么区别?

以下是两个查询的解释计划:

第一个查询:

----------------------------------------------------------------------------------------------------------
| Id  | Operation                      | Name                    | Rows  | Bytes | Cost (%CPU)| Time     |
----------------------------------------------------------------------------------------------------------
|   0 …
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql

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

Winform TextBox无法显示文本

今天我发现TextBox.Text有一个奇怪的问题,如果字符串长度太大,文本框看起来就像是空的,但实际上我仍然可以选择/复制/粘贴,只是看不到字符.

我写了一个小的winform来测试它,我发现如果字符串长度超过5460,问题就出来了.

我使用的是Win7 64,VS2010.我知道在单行文本框中显示如此大的字符串是没有意义的,但我想知道根本原因.

而且我也注意到它在Win2008中没有发生,即使在Win7中我使用屏幕录像机时问题也消失了!太奇怪了!

c# string winforms

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

在ASP.Net中,同一组中的单选按钮会自动更改Checked状态吗?

页面上的同一组中有2个单选按钮:

<asp:RadioButton ID="RadioButton1" runat="server" GroupName="Group1"/>
<asp:RadioButton ID="RadioButton2" runat="server" GroupName="Group1"/>
Run Code Online (Sandbox Code Playgroud)

在代码behined中,我编写代码来检查两个单选按钮:

RadioButton1.Checked = true;
RadioButton2.Checked = true;
Run Code Online (Sandbox Code Playgroud)

我认为这RadioButton1.Checked将是false因为他们在同一组,当我检查第二个,第一个将自动取消选中.但实际上,他们都是Checked=true.

在我的应用程序中,有一个像这样的switch-case:

// Some code to check the default RadioButton

switch(val){
  case 1:
    RadioButton1.Checked = true;
  case 2:
    RadioButton2.Checked = true;
}
Run Code Online (Sandbox Code Playgroud)

所以有时两个单选按钮Checked都是真的.这很奇怪,所以我将代码更改为:

switch(val){
  case 1:
    RadioButton1.Checked = true;
    RadioButton2.Checked = false;
  case 2:
    RadioButton1.Checked = false;
    RadioButton2.Checked = true;
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果我需要添加10个单选按钮,写一个长列表= true,= false .....?

有任何想法吗?谢谢!

c# asp.net radio-button

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

是否有必要在顶级包装每个例外?

今天,有人告诉我,我们应该始终将每个例外都包含在框架的顶层.原因是原始异常可能包含堆栈跟踪或消息中的敏感信息,尤其是堆栈跟踪.

我不知道,有没有任何规则/原则/模式?

c# exception-handling

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

如何比较java.sql.Timestamp和java.util.Date

我知道java Date的设计很差,但是直到今天我都不知道。

我将日期保存到数据库中,当我从数据库中获取日期并与原始日期进行比较时,它告诉我这是不同的!

我写了一个看起来很奇怪但合格的测试!

@Test
public void date_equals() {
    Date now = new Date();
    Timestamp timestamp = new Timestamp(now.getTime());

    assertFalse(timestamp.equals(now));
    assertTrue(now.equals(timestamp));

    assertTrue(timestamp.compareTo(now) == 0);
    assertFalse(now.compareTo(timestamp) == 0);

    assertTrue(timestamp.getTime() == now.getTime());
    assertTrue(now.getTime() == timestamp.getTime());
}
Run Code Online (Sandbox Code Playgroud)

我注意到java.sql.Timestamp与Date稍有不同,我不在乎。

谁能告诉我如何比较这两种最佳做法?我不想在任何地方都比较日期使用getTime()的情况,是否有任何通用库或其他方法可以做到这一点?

顺便说一句,我正在使用JDK 6

java mysql date java-6 sql-timestamp

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