作者colorboy1769 (彩色男孩)
看板Visual_Basic
标题Re: [.NET] 时间存进资料库
时间Sat Apr 26 15:05:25 2008
※ 引述《yauhh (姚呵呵)》之铭言:
: 看了半天没看懂问题在哪里,
: 原来是遇到错误就把错误扩大解读的情况.
: 要跟你讲的是:
: 1. 你所翻遍的SQL手册所讲的很够了,
: 你真的只要知道datetime是一个有日期与时间格式的字串.
: 只要是字串,当然加个单引号; 不加单引号的情况不必测试,也不必讨论.
其实我还没有翻遍SQL的手册...XD
重点在第二句 datetime 是一个日期与时间格式的"字串"
的确是我把问题想的太复杂了
我原本以为datetime是另外一种非数字非字串的格式
所以我一直在想说在commandText里到底要怎麽写指令....囧
: 2. SQL送出去得到错误,真的是因为栏位的资料型态设定为datetime吗?
: 你能证明吗? 或者是只因为遇到错,做片面假设,然後碰到一个好像是证明的结果?
: 其实你可以先读一下错误讯息是什麽,
: 还有把VB.Net的cmd.CommandText印出来,与纯粹SQL Server操作time栏位
: 所能储存的内容印出来比较一下,
: 看看有没有解决问题的线索.
: SQL Server手册明明说datetime是字串的样子,若要说它不是字串,
: 也没办法解决什麽事情.
: 前面所提到的 toString 加上格式,以及用SQL自己的 getdate() 是对的.
应该说我不知道他是字串...
我刚睡醒吃完中饭还没实验啦
不过我依稀记得我昨天实验完的结果
其中之一错误讯息为'从string 转换成 datetime格式时发生错误'
该字串的内容我是用now.toString去存的
试过的有
now.toString
now.toString("yyyy/MM/dd HH:mm:ss")
now.toString("yyyyMMdd HHmmss")
会把斜线跟冒号去掉
是因为後来又有一个错误讯息跟这两个有关
不过去掉还是会出错 错误讯息也不同
待我实验完抓图PO上来
: 3. SQL Server储存的datetime栏位本来就可以加减,
: 并不是因为今天你测它遇到错误,就完全没有加减功能.
: 储存在SQL Server的 datetime 字串,不只是可以让VB.Net取出来做加减,
: 即使用SQL也可以做加减.
: 若储存为自己的格式,则VB.Net或SQL都要写一堆转换程式,反而不方便.
对於加减的功能
我也是不知道可不可以 所以才来这边提问啦
我也没有测试他遇到错误 就说他没有加减功能呀~"~
1F:→ JacobTai:你主机的时间设定里有"上午""下午"这些中文字...
在前面文章看到的这个推文
now抓到的主机时间设定有上午下午
可是如果去掉上午下午
不就变成自己的格式了吗??
其实不管有没有去掉 我存进去都会失败啦 XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.163.166.71
2F:推 yauhh:时间的加减是一些函数而已,只要是合法的datetime就能用 04/26 15:13
3F:→ colorboy1769:合法的datetime 如果以now来说的话 04/26 15:17
4F:→ yauhh:另外含有上午/下午,不代表它就是合法日期字串 04/26 15:16
5F:→ colorboy1769:是指now.toString这样吗?? 04/26 15:17
6F:→ colorboy1769:我以为now.toString都没改就是合法的说... 04/26 15:17
7F:→ colorboy1769:这样datetime所谓的合法 可以举例给我看看吗‧_‧? 04/26 15:18
8F:推 yauhh:所谓合法是说,对datetime栏位喂一日期字串,它接受 04/26 21:51
9F:→ yauhh:SQL Server与VB.Net是二套系统,不可混谈 04/26 21:52