我已经用这个问题杀死脑细胞超过5个小时了。如何正确保存日期vb.net 到mysql日期没有得到0000-00-00所有的时间。

我已经尝试了多个建议,您在输入之前格式化日期值,但它得到了我相同的结果。:

Dim departDate As Date
Dim d As String = Format(departDate, "05/05/2007")

在我测试和没有工作的情况下,我仍然得到了0000-00-00

我试过了:

    Dim changeFormatDate As Date
    Dim AddFechaListadoCasas2 as String
    changeFormatDate = AddCasasListadoDatePicker.Text
    AddFechaListadoCasas2 = changeFormatDate.ToString("yyyy-MM-dd")

这仍然给了我mysql的0000-00-00

我也试过这个例子:

Dim myDate as DateTime = DateTime.ParseExact(x, "yyyy-MM-dd", CultureInfo.CurrentCulture)

并且试图保存到mysql仍然给了我0000-00-00

在我的程序中,我从datepicker中抓取日期作为文本,然后将其转换为字符串,并尝试将其保存到数据库中。如果有必要,我很乐意将其转换为格式为Yyyy-MM-dd的日期,这对于MySQL来说是必要的,但我上面所做的一切仍然显示了0000-00-00,这令人沮丧。

任何帮助将不胜感激。

狮子座

这是我在我的程序上的MySQL insert语句。

AddFechaListadoCasas2 = AddCasasListadoDatePicker.Text
        AddFechaCierreCasas2 = AddFechaCierreCasas.Text


SqlVentaCasas = "INSERT INTO VentaCasas (ID, Direccion, Ciudad_Municipio, Zona_Localidad, Barrio, " & _
                                    "Estatus, Precio, Unidad, Departamento, Conjunto, Estrato, Matricula_Inmobiliaria, Cedula_Catastral," & _
                                    "Escritura, Notaria, Ano, Area_Metros_2, Tipo_de_Construccion, Niveles, Habitaciones, Garajes," & _
                                    "Techo, Vista, Picina, Cocina_Integral, Bar, Cuarto_Bano_Servicio, Antejardin, Equipos," & _
                                    "Aire_Acondicionado, Detalles_addicionales, Estilo, Ano_Construccion, Orientacion, Banos, Parqueos," & _
                                    "Piso, Balcon, Jacuzzi_Sauna, Chimenea, Hall_Television, Zona_lavanderia, Patio, Accesorios," & _
                                    "Calefaccion, Administracion, Amenidades, Impuestos, Condiciones, Ocupacion," & _
                                    "Cuota_Administracion, Restricciones, Seguridad, Mostrar, Comision, Fecha_Listado, " & _
                                    "Agente_Cooperante, Fecha_Expiracion, CiudadEscritura, Agente, Licensia, Compania, NumeroPersonal," & _
                                    "NumeroCompania, NumeroFax, Email, AreaLotesM2, PrecioOriginal, Account_Creator, NumeroDias ) VALUES ('" & _
                                    AddIDCasas2 & "','" & _
                                    AddDireccionCasas2 & "','" & AddCiudadCasas2 & "','" & AddZonaCasas2 & "','" & AddBarrioCasas2 & "','" & _
                                    AddEstatusCasas2 & "'," & AddPrecioCasas2 & ",'" & AddUnidadCasas2 & "','" & AddDepartamentoCasas2 & "','" & _
                                    AddConjuntoCasas2 & "'," & AddEstratoCasas2 & ",'" & AddMatriculaCasas2 & "','" & _
                                    AddCedulaCatastralCasas2 & "','" & AddEscrituraCasas2 & "','" & AddNotariaCasas2 & "'," & _
                                    AddAnoCasas2 & "," & AddMetros2Casas2 & ",'" & AddTipoConstruccionCasas2 & "'," & _
                                    AddNivelesCasas2 & "," & AddHabitacionesCasas2 & "," & AddGarajesCasas2 & ",'" & _
                                    AddTechoCasas2 & "','" & AddVistaCasas2 & "','" & AddPicinaCasas2 & "','" & AddCocinaIntegralCasas2 & "','" & _
                                    AddBarCasas2 & "','" & AddCuartoCasas2 & "','" & AddAnteJardinCasas2 & "','" & AddEquiposCasas2 & "','" & _
                                    AddAireAcondicionadoCasas2 & "','" & AddDetallesAddicionalesCasas2 & "','" & AddEstiloCasas2 & "'," & _
                                    AddAnoConstruccionCasas2 & ",'" & AddOrientacionCasas2 & "'," & AddBanoCasas2 & "," & _
                                    AddParqueoCasas2 & ",'" & AddPisoCasas2 & "','" & AddBalconCasas2 & "','" & AddJacuzziCasas2 & "','" & _
                                    AddChimeneaCasas2 & "','" & AddTVCasas2 & "','" & AddZonaLavanderiaCasas2 & "','" & AddPatioCasas2 & "','" & _
                                    AddAccesoriosCasas2 & "','" & AddCalefaccionCasas2 & "','" & AddAdministracionCasas2 & "','" & _
                                    AddAmenidadesCasas2 & "','" & AddImpuestosCasas2 & "','" & AddCondicionesCasas2 & "','" & _
                                    AddOcupacionCasas2 & "','" & AddCuotaAdministracionCasas2 & "','" & AddRestriccionesCasas2 & "','" & _
                                    AddSeguridadCasas2 & "','" & AddMonstrarCasas2 & "','" & AddComisionCasas2 & "','" & _
                                    AddFechaListadoCasas2 & "','" & AddAgenteCooperanteCasas2 & "','" & _
                                    AddFecdhaExpiracionCasas2 & "','" & _
                                    AddCiudadEscrituraCasas2 & "','" & AgenteNameCasas2 & "','" & _
                                    AgenteLicensiaCasas2 & "','" & AgenteCompaniaCasas2 & "','" & _
                                    AgentePersonalCasas2 & "','" & AgenteTelefonoCasas2 & "','" & _
                                    AgenteFaxCasas2 & "','" & AgenteEmailCasas2 & "'," & AddAreaLotesM2Casas2 & "," & AddPrecioOriginalCasas2 & ", '" & AgenteAccountCreatorCasas2 & "', 0 );"

AddFechaListadoCasas2和AddFecdhaExpiracionCasas2是包含我想在MySQL上输入的日期的字符串

有帮助吗?

解决方案

您当前的查询是易受攻击与 SQL Injection.请利用 ADONet ObjectConnectionCommand 带参数。更具体地说,因为你正在使用 MySQL, ,使用 MySQL Data provider.它会自动为您转换数据类型。

Dim query As String = "INSERT INTO tableName (dateColumn) VALUES (@dateParam)"
Using conn As New MySqlConnection("connectionstringHere")
    Using comm As New MySqlCommand()
        With comm
            .Connection = conn
            .CommandText = query
            .CommandType = Commandtype.Text
            ' Assuming this is a DatePicker '
            .Parameters.AddWithValue("@dateParam", AddCasasListadoDatePicker.Value) 
        End With
        Try
            conn.Open()
            comm.ExecuteNonQuery()
        Catch(ex as MySqlException)
            Msgbox(ex.Message.ToString())
        End Try
    End Using
End Using
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top