2017-08-25 57 views
1

當我從DtPicker或Calendar向數據庫firebird添加值時,VB6.0編程有一個奇怪的問題。當我添加一天的日期是1日至12日,它可以將其添加到數據庫中,但是當我嘗試添加日期,其中日期是第13日或更高時,它顯示錯誤消息當day部分大於12時,我無法向firebird添加數據日期值

運行時錯誤'2147467259'(80004005)':
[ODBC火鳥驅動程序]從字符串 「13/08/2017」[火鳥]轉換錯誤

在數據庫中的類型是 「DATE」,但是當我轉鍵入數據庫到「VARCHAR」一切都很好,但「VARCHAR」不能執行Date函數。

Image

+2

它可能期待''mm/dd/yyyy''日期格式。我習慣於VBA而不是VB6,但它可能像使用'Format(whatever_date,「mm/dd/yyyy」)' – YowE3K

+0

SQL中的語法如何?我用這段代碼把它放到數據庫中: – SETYO

+0

SQL的語法如何?我用這段代碼把它放到數據庫中:插入到TBL_KAL值(''&Cal1.Value&'','「&cmbKet.Text&」','「&txtHour.Text&」') – SETYO

回答

0

如果您傳遞日期值作爲字符串或級聯聲明的情況下,一定要設置「YYYY-MM-DD」格式(ISO_8601)的值。

如果您準備了帶有參數的語句,那麼驅動程序本身將自動處理數據類型轉換的安全。至少它應該。

建議使用最後一個選項。