我想了解这背后的概念。
我在c#中创建一个数据库。现在,我希望只有日期而不是日期和时间。
所以,我在sql查询窗格中找到了以下命令:
SELECT CONVERT(varchar, deal_start_date, 101) AS 'deal_start_date'
FROM client
所需的结果出现,但数据变为只读,因此无法编辑。
此外,它不会永久保留。我的意思是,
再次点击show table data
时,会显示日期时间格式。
任何人都可以告诉我为什么单元格变为只读以及如何通过UI永久保留更改?
非常感谢。
答案 0 :(得分:2)
我对只读部分的猜测是,由于您现在正在转换原始值,因此您将松开指向数据库中列的链接。就像无法编辑计算列一样(例如,如何从定义为A+B as 'C'
的查询中写入列。
在GUI中显示哪种类型的组件?也许您可以将查询保留为SELECT deal_start_date FROM client
,并从组件中过滤掉时间部分?
或者,如果您未在应用程序的任何其他位置使用该时间,请将数据库中的datetime
列更改为date
。
答案 1 :(得分:0)
我没有得到完美答案,但我找到了另一种选择。我在MS SQL数据库中尝试使用datetime数据类型。当我将其更改为varchar(12)时,我得到了所需的结果。即日期格式。 (感谢ØyvindKnobloch-Bråthen提供的见解)
这实际上不合适,因为varchar中的大小为12,时间部分被截断。 (如果varchar的大小增加,则会出现时间部分) 但这符合我的目的。
但我还在等待正确答案,如果有的话。