在Windows應用程序我有我嘗試插入當前日期在我的mysql數據庫下面vb.net INSERT CURDATE()到MySQL的問題
查詢的查詢:
SqlVentaCasas1 = "INSERT INTO VentaCasasHistory (ID, Direccion, Estatus, Precio, " & _
"NumeroDias, FechaHoy, Agente, Compania, Unidad, Ciudad) VALUES ('" & _
AddIDCasas2 & "','" & AddDireccionCasas2 & "','" & AddEstatusCasas2 & "'," & AddPrecioCasas2 & ", 0, CURDATE(), '" & AgenteNameCasas2 & "','" & AgenteCompaniaCasas2 & "', '" & AddUnidadCasas2 & "', '" & AddCiudadCasas2 & "');"
CommandVentaCasas1 = New MySqlCommand(SqlVentaCasas1, con)
CommandVentaCasas1.CommandType = CommandType.Text
CommandVentaCasas1.ExecuteNonQuery()
當我輸入我想插入到MySQL的一切都運行平穩,除了當我檢查數據庫輸入的日期,我發現自己與另一方面,我發現自己與另一方面,當我從PHPmyAdmin運行相同的查詢
INSERT INTO `VentaCasasHistory`(`ID`, `Direccion`, `Estatus`, `Precio`, `NumeroDias`, `FechaHoy`, `Agente`, `Compania`, `Unidad`, `Ciudad`) VALUES ([String1],[String2],[String3],[Integer1],[Integer2],CURDATE(),[String4],[String5],[String6],[String7])
其中FechaHoy是CURDATE()是插入正確的日期應該是。
我似乎無法找到什麼問題,據我瞭解,它只會插入如果日期時輸入錯誤。
我保持兩個查詢「相同」的原因是爲了理解我做錯了什麼,我知道他們可以接受SQL注入。
你的幫助將非常感激。
利奧P.
這是代碼我有,你告訴我的最後一塊。
Dim StringDate As String
StringDate = Date.Today.ToString("yyyy-MM-dd")
SqlVentaCasas1 = "INSERT INTO VentaCasasHistory (ID, Direccion, Estatus, Precio, " & _
"NumeroDias, FechaHoy, Agente, Compania, Unidad, Ciudad) VALUES ('" & _
AddIDCasas2 & "','" & AddDireccionCasas2 & "','" & AddEstatusCasas2 & "'," & AddPrecioCasas2 & ", 0, STR_TO_DATE('" & StringDate & "', GET_FORMAT(DATE,'ISO')), '" & AgenteNameCasas2 & "','" & AgenteCompaniaCasas2 & "', '" & AddUnidadCasas2 & "', '" & AddCiudadCasas2 & "');"
不幸的是,它不工作,我仍然得到的0000-00-00。
使用參數化查詢的一個原因是爲了避免注入式攻擊 - 另一個原因是它允許您指定參數的類型。 您是否嘗試過參數化併爲日期字段指定正確的數據類型? 此外 - 你可以通過調試器並粘貼它正在運行的最終SQL查詢? – Origin
@Origin MySql.Data.MySqlClient.MySqlException(0x80004005):從流中讀取失敗。 --- & gt; System.IO.EndOfStreamException:試圖讀取流的結尾。 –
TopoX