1

我想了解这背后的概念。

我正在用 c# 创建一个数据库。现在,我希望只有日期而不是日期和时间。

因此,我在 sql 查询窗格中使用了以下命令:

SELECT CONVERT(varchar, deal_start_date, 101) AS 'deal_start_date' FROM client

期望的结果来了,但数据变为只读,因此无法编辑。

结果是按此快照

此外,它不会永久保留。我show table data的意思是,再次点击日期时间格式。

谁能告诉我为什么单元格变为只读以及如何仅通过 UI 永久保留更改?

非常感谢。

4

2 回答 2

2

我对只读部分的猜测是,由于您现在正在转换原始值,因此您松开了指向数据库中列的链接。就像无法编辑计算列一样(例如,您将如何从定义为A+B as 'C'.

您在 GUI 中显示的是哪种类型的组件?也许您可以将查询保留为SELECT deal_start_date FROM client,并从组件中过滤掉时间部分?

或者,如果您不使用应用程序中任何其他位置的时间,请将数据库中的列从更改datetimedate

于 2013-03-05T12:21:21.183 回答
0

我没有得到完美的答案,但我找到了替代方案。我在 MS SQL 数据库中尝试使用 datetime 数据类型。当我将其更改为 varchar(12) 时,我得到了想要的结果。即日期格式。(感谢Øyvind Knobloch-Bråthen提供的见解)

这实际上是不合适的,因为 varchar 中的大小为 12,时间部分被截断。(如果增加 varchar 的大小,时间部分将出现)但这符合我的目的。

但我仍在等待一个正确的答案,如果有的话。

于 2013-03-05T12:58:31.720 回答