0

我有这个代码

    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”以放置在语句中???谢谢。

4

6 回答 6

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
于 2012-07-25T19:07:42.463 回答
1

在 sql 查询中 - 使用 to_date 将字符串转换为日期 - 并转换为 char 进行反向

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

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

于 2012-07-25T19:00:18.767 回答
1

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

您可以选择如何将日期转换为字符串。

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

dateTimePicker1.Format = DateTimePickerFormat.Custom
dateTimePicker1.CustomFormat = "MM/dd/yyyy"
于 2012-07-25T19:00:41.457 回答
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
于 2012-07-25T19:07:54.610 回答
0

您可以像这样转换日期:

verdat1.ToString("MM/dd/yyyy")
于 2012-07-25T19:01:22.007 回答
0

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

于 2015-02-09T11:51:36.013 回答