看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《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都要寫一堆轉換程式,反而不方便. 對於加減的功能 我也是不知道可不可以 所以才來這邊提問啦 我也沒有測試他遇到錯誤 就說他沒有加減功能呀~"~
JacobTai:你主機的時間設定裡有"上午""下午"這些中文字...
在前面文章看到的這個推文 now抓到的主機時間設定有上午下午 可是如果去掉上午下午 不就變成自己的格式了嗎?? 其實不管有沒有去掉 我存進去都會失敗啦 XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.163.166.71
yauhh:時間的加減是一些函數而已,只要是合法的datetime就能用 04/26 15:13
colorboy1769:合法的datetime 如果以now來說的話 04/26 15:17
yauhh:另外含有上午/下午,不代表它就是合法日期字串 04/26 15:16
colorboy1769:是指now.toString這樣嗎?? 04/26 15:17
colorboy1769:我以為now.toString都沒改就是合法的說... 04/26 15:17
colorboy1769:這樣datetime所謂的合法 可以舉例給我看看嗎‧_‧? 04/26 15:18
yauhh:所謂合法是說,對datetime欄位餵一日期字串,它接受 04/26 21:51
yauhh:SQL Server與VB.Net是二套系統,不可混談 04/26 21:52