2

この質問で5時間以上脳細胞を殺しています。常に 0000-00-00 を取得せずに vb.net から mysql の日付に日付を適切に保存する方法。

入力する前に日付の値をフォーマットする複数の提案を試しましたが、同じ結果が得られます。

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 で入力したい日付を含む文字列です。

4

1 に答える 1

2

現在のクエリは脆弱ですSQL Injection。やwith パラメータADONet Objectなどを利用してください。より具体的には、 を使用しているので、 を使用します。データ型を自動的にキャストします。ConnectionCommandMySQLMySQL 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
于 2012-10-02T04:07:46.737 に答える