2012-10-02 138 views
2

我一直在用这个问题杀死脑细胞超过5小时。 如何正确地将日期从vb.net保存到mysql日期而不需要时间。如何将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

在我的节目我可是从一个日期选择器抓取日期文本,然后它要等维护一个字符串并尝试将其保存到数据库中。如果有必要,我希望将它转换为MySQL所必需的格式为yyyy-MM-dd的日期,但是我在上面完成的所有操作仍然显示出令我沮丧的0000-00-00。

任何帮助将非常感激它。

狮子座

这里是我的程序中的MySQL插入语句。

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的

+0

什么样的数据类型,你有你的表列存储日期? –

+0

@Cory在MySQL数据库是日期格式是日期,在程序即时将它放在一个字符串,以便以后保存在MySQL,但它似乎我必须将该字符串转换为日期然后格式化并保存它。那是我没有成功的部分。 – TopoX

+0

有没有提到[Little Bobby Tables](http://xkcd.com/327/)? –

回答

2

您当前的查询与SQL Injection脆弱的日期字符串。请使用带参数的ADONet Object,如ConnectionCommand。更具体地说,因为您使用的是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