小编Llo*_*ten的帖子

表中主键的最佳实践是什么?

在设计表时,我养成了一个习惯,就是让一个列是唯一的,并且我制作了主键.这取决于要求以三种方式实现:

  1. 自动递增的标识整数列.
  2. 唯一标识符(GUID)
  3. 可用作行标识符列的短字符(x)或整数(或其他相对较小的数字类型)列

数字3将用于相当小的查找,主要是可能具有唯一静态长度字符串代码的读取表,或者诸如年份或其他数字的数字值.

在大多数情况下,所有其他表将具有自动递增整数或唯一标识符主键.

问题:-)

我最近开始使用没有一致行标识符的数据库,主键目前在各个列上进行聚类.一些例子:

  • 日期时间/字符
  • 日期时间/整数
  • 日期时间/ VARCHAR
  • 炭/ NVARCHAR/nvarchar的

这有一个有效的案例吗?我总是会为这些案例定义一个标识或唯一标识符列.

此外,还有许多表没有主键.这有什么正当理由?

我试图理解为什么桌子的设计原样,对我来说这似乎是一个很大的混乱,但也许有充分的理由.

第三个问题可以帮助我解释答案:在使用多列构成复合主键的情况下,这种方法与代理/人工密钥相比有特定的优势吗?我主要考虑的是性能,维护,管理等方面?

sql database sql-server relational

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

有没有更好的方法将DateTime修剪为特定的精度?

将DateTime对象修剪为特定精度的最佳方法是什么?例如,如果我的DateTime值为'2008-09-29 09:41:43',但我只想要精确到分钟,有没有更好的方法来做到这一点?

private static DateTime TrimDateToMinute(DateTime date)
{
    return new DateTime(
        date.Year, 
        date.Month, 
        date.Day, 
        date.Hour, 
        date.Minute, 
        0);
}
Run Code Online (Sandbox Code Playgroud)

我真正想要的是让它变量,以便我可以将其精度设置为秒,分钟,小时或日.

.net c# datetime

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

在JavaScript中使用Chrome中的系统打印对话框

我们遇到的问题是Chrome的"打印预览"无法正确打印我们的网页.如果您使用"使用系统打印对话框链接"(Ctrl + Shift + P),它会打印我们的页面(与Firefox几乎完全相同).

我们的页面上有一个按钮,它调用window.print()来打开打印对话框.但是,在Chrome中,它会打开"打印预览"对话框,最终无法正确打印我们的页面.

有没有JavaScript可以直接打印到Chrome中的"系统打印对话框"?

PS我知道最终用户如何在chrome:// flags中禁用打印预览,但我想要知道的是,无论用户是否以编程方式调用window.print()(或类似),它都会阻止它显示设置.

javascript printing google-chrome

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

在确定菜单项目的位置时是否有任何标准可供遵循?

在开发基于Windows窗体的应用程序时,在设计表单的主菜单系统时是否应遵循任何标准?

大多数带菜单系统的Windows应用程序都有您的标准文件| 编辑| 查看| 工具| 帮助菜单.如何确定任何其他顶级菜单项的位置?

另外,如何确定子菜单项的位置?例如,您将遵循哪些规则或原则来确定是否应将项目放在"编辑","工具"或您自己的非标准顶级菜单中?

我在这里寻找两件事:

  1. 发布的资源(网络或打印)详细说明了这一点(特别是如果它来自Microsoft),或来自UX或UI专业人员的其他资料.
  2. 你自己的意见.

基于Gamecat提到功能区的响应,我将把它扩展到功能区.如何确定显示哪些标签按钮?寻找与上述相同的内容.

相关问题: https ://stackoverflow.com/questions/126797/is-there-a-style-guide-for-guis-somewhere

.net windows user-interface winforms

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