Windowsアプリケーションで、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に挿入したい値を入力すると、入力した日付をデータベースで確認したときに0000-00-00であることがわかることを除いて、すべてがスムーズに実行されます。
一方、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()である場合、本来あるべき日付が正しく挿入されます。
何が問題なのかわからないようです。入力した日付に問題がある場合にのみ、0000-00-00が挿入されることを理解しています。
両方のクエリを「同一」にした理由は、何が間違っているのかを理解するためであり、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を取得します。