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

実際、クエリを実行するためのより良い (そしてより安全な) 方法は、パラメーターと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 に答える
1

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

日付を文字列に変換する方法を選択できます。

また、必要に応じてdateTimePickerカスタム形式を設定できます。

dateTimePicker1.Format = DateTimePickerFormat.Custom
dateTimePicker1.CustomFormat = "MM/dd/yyyy"
于 2012-07-25T19:00:41.457 に答える
1

SQLクエリでは、to_dateを使用して文字列を日付に変換し、逆に文字に変換します

あなたの場合 select codigo,data,horario from alteraca where data = to_date('" & verdat1 & "','dd/mm/yyyy') ", conex

ここ'dd/mm/yyyy'に変数の形式があります...

于 2012-07-25T19:00:18.767 に答える
0

次のように日付を変換できます。

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