首页 > 解决方案 > 如何使用 Vb.net 程序以这种格式“dd MMM yyyy HH:mm:ss 'GMT'”更新数据库日期时间

问题描述

我搜索了很多关于如何在线获取时间的信息,我找到了一个解决方案,你会在我的代码中找到它。

我的目标是制作会员日期时间,第一步让程序从互联网上获取时间, startdate然后添加作为会员时间的时间enddate第二步当程序再次运行时,它将用实际时间替换开始时间“得到来自互联网”enddate

这是我的数据库结构(注意我尝试制作enddateand startdateAsDateTime但它失败了):

数据库结构

这是我的程序:

[ 节目照片]

这是我的代码:

Imports System.Globalization
Imports System.Net
Imports MySql.Data.MySqlClient


Public Class Form1
    Dim date1 As DateTime
    Dim date2 As DateTime
    Dim date3 As DateTime
    Dim x As DateTime
    Public Shared Function GetNistTime() As DateTime
        Dim myHttpWebRequest = CType(WebRequest.Create("http://www.microsoft.com"), HttpWebRequest)

        Dim response = myHttpWebRequest.GetResponse()
        Dim todaysDates As String = response.Headers("date")
        Return DateTime.ParseExact(todaysDates, "ddd, dd MMM yyyy HH:mm:ss 'GMT'", CultureInfo.InvariantCulture.DateTimeFormat, DateTimeStyles.AssumeUniversal)
    End Function

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        x = GetNistTime()
        TextBox1.Text = x

        date1 = CStr(x.AddMonths(1))
        Dim MySqlConn = New MySqlConnection
        MySqlConn.ConnectionString = "server=localhost;userid=root;password=123456789;database=test"
        Dim Reader As MySqlDataReader
        Dim Query As String
        Dim sqlcommand As MySqlCommand
        Try
            MySqlConn.Open()
            Query = "UPDATE test.time SET startdate='" & x & "',enddate='" & date1 & "' WHERE username='program'"
            sqlcommand = New MySqlCommand(Query, MySqlConn)
            Reader = sqlcommand.ExecuteReader
        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            MySqlConn.Dispose()
        End Try

    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim MySqlConn = New MySqlConnection
        MySqlConn.ConnectionString = "server=localhost;userid=root;password=123456789;database=test"
        Dim Reader As MySqlDataReader
        Dim Query As String
        Dim sqlcommand As MySqlCommand
        Try
            MySqlConn.Open()
            Query = "Select * from test.time  WHERE username='program'"
            sqlcommand = New MySqlCommand(Query, MySqlConn)
            Reader = sqlcommand.ExecuteReader
            While Reader.Read
                date2 = Reader.GetDateTime("startdate")
                date3 = Reader.GetDateTime("enddate")
            End While
        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            MySqlConn.Dispose()
        End Try
        TextBox2.Text = date2
        TextBox3.Text = date3
    End Sub
End Class

当我运行程序并按下时, button2 我得到了这个错误:

[ 程序错误照片]

然后当我在 ex.message 上按 OK 时,这写在 TextBox2 &中 TextBox3

[ 程序错误照片]

这是存储在数据库中的输出:

[ 数据库中的输出]

请帮助我并在代码或此处编辑您想要的任何内容,如果您有其他想法,请告诉我,对不起,如果我把所有细节都放了,看起来很无聊,谢谢

我知道一种将“ص”或“م”替换为“AM”和“PM”的方法如果您有任何方法可以直接用“Am”和“PM”获取日期,我将不胜感激

标签: mysqlsqlvb.net

解决方案


推荐阅读