更改系统时间后,datetime的自定义格式不起作用

57hvy0tb  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(208)

我试图使用datetimepicker中的日期约束将一些sql查询输出到datagridview
我在表单加载期间以及在.vb[design]文件的“属性”菜单中设置自定义日期格式。
但是,当我运行应用程序时,它会自动将datetimepicker值从我的自定义格式(yyyy-mm-dd)切换到当前设置为(m/dd/yy)的windows系统格式或我在windows中选择的任何格式。这会导致问题,因为当我将windows日期时间格式切换为yyyy-mm-dd时,应用程序可以工作,但是,如果最终用户使用(m/dd/yy)格式,我的应用程序将无法从sql服务器获取数据。
sql server格式为(yyyy-mm-dd)

Private Sub Navs_Load(Sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    DTPTansAct.Value = Today.AddDays(-1)
    DTPTransAct.Format = DateTimePickerFormat.Custom
    DTPTransAct.CustomFormat = "yyyy-MM-dd"
End Sub

Private Sub BtnTransActDL_Click(sender As Object, e As EventArgs) Handles BtnTransActDL.Click
    Dim RecordCount = 0
    Dim Exception = ""

    Dim DLCmd As New MySqlCommand
    Dim DLConn As New MySqlConnection
    DLConn.ConnectionString = connectionstring.text

    Dim DLDA As New MySqlDataAdapter
    Dim DLDT As New DataTable
    Dim bsource As New BindingSource

    Dim SQLString As String = "Select * From table where name like '%" & TxtTransAct.Text & "%' and transactiondate BETWEEN '" & DTPTransAct.Text & "' AND '" & DTPTransAct.Text & "' Limit 5000;"

    Try
        DLConn.Close()
        DLConn.Open()
        DLCmd = New MySqlCommand(SQLString, DLConn)
        DLDA.SelectCommand = DLCmd
        DLDA.Fill(DLDT)
        bsource.DataSource = DLDT
        DGVTransAct.DataSource = bsource
        DLDA.Update(DLDT)
    Catch ex As Exception
        Exception = "ExecQuery Error: " & vbNewLine & ex.Message
    Finally
        DLConn.Close()
        Dim RecordCount1 As String = DLDT.Select().Length
        TextBox16.Text = (RecordCount1.ToString() + " Record(s) Found!")
    End Try
End Sub

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题