将日期dd / mm / yyyy转换为mm / dd / yyyy vb.net

时间:2012-07-25 18:54:46

标签: vb.net

我有这段代码

    Dim conex As SqlConnection = New SqlConnection(conxst)
    Dim caixa As Integer = ComboBox1.SelectedItem
    Dim verdat As Date = DateTimePicker1.Text
    Dim verdat1 As Date = "05/07/2012"
    conex.Open()
    Dim ds As New DataSet
    Dim dt As New DataTable
    ds.Tables.Add(dt)
    Dim da As New SqlDataAdapter("select codigo,data,horario from alteraca where data = '" & verdat1 & "' ", conex)
    da.Fill(dt)

当verdat1格式为“mm / dd / yyyy”时,此代码有效,我如何将日期从我的datetimepicker(dd / mm / yyyy)转换为格式“mm / dd / yyyy”以放置在语句中???谢谢。

6 个答案:

答案 0 :(得分:4)

当您已经有二进制表示时,不应该使用值的字符串表示。

Dim dt As New DataTable
Using conex As New SqlConnection(conxst)
    conex.Open()

    Using cmd As New SqlCommand("select codigo, data, horario from alteraca where data = @data", conex)
        cmd.Parameters.AddWithValue("@data", DateTimePicker1.Value)

        Using da As New SqlDataAdapter(cmd)
            da.Fill(dt)
        End Using
    End Using

End Using

答案 1 :(得分:1)

在sql查询中 -use to_date将String转换为date - 以及反向的char

在你的情况下 select codigo,data,horario from alteraca where data = to_date('" & verdat1 & "','dd/mm/yyyy') ", conex

此处'dd/mm/yyyy'是您变量的格式......

答案 2 :(得分:1)

使用

verdat1.ToString("MM/dd/yyyy")

您可以选择将日期转换为字符串的方式。

此外,您可以根据需要设置dateTimePicker自定义格式:

dateTimePicker1.Format = DateTimePickerFormat.Custom
dateTimePicker1.CustomFormat = "MM/dd/yyyy"

答案 3 :(得分:1)

实际上,执行查询的更好(更安全的方法)是使用参数和Using语句。 Using语句会自动关闭连接,命令和适配器。

Dim caixa As Integer = ComboBox1.SelectedItem
Dim verdat As Date = DateTimePicker1.Text
Dim verdat1 As Date = "05/07/2012"
Dim ds As New DataSet
Dim dt As New DataTable

Using conex as New SQLConnection(conxst)
  conex.Open()
  Using cmdex as New SQLCommand("select codigo,data,horario from alteraca where data = @DATE " , conxst)
   cmdex.Parameters.AddWithValue("@DATE",verdat1)
   Using da As New SqlDataAdapter(cmdex)
     da.Fill(dt)
   End Using
  End Using
End Using

答案 4 :(得分:0)

您可以像这样转换日期:

verdat1.ToString("MM/dd/yyyy")

答案 5 :(得分:0)

您可以使用DateTimePicker1.value。很容易解决