使用vb.net在Mysql中插入特定日期

使用vb.net在Mysql中插入特定日期,mysql,vb.net,date,Mysql,Vb.net,Date,好的,这是一个场景,我需要在mysql中插入一个特定的日期。每次我插入这个日期,我得到0000-00-00 每次用户在当月1日至20日之间付款时,wb_到期日列会将当月增加1 前。 我有一个默认值wb_paid-date=2013-10-15和wb_due-date=2013-10-20。 现在User1在2013年10月15日付款,我点击按钮后,wb_到期日上保存的日期是0000-00-00,而不是2013年11月20日 看看我的代码 Function iterate(ByVal d As D

好的,这是一个场景,我需要在mysql中插入一个特定的日期。每次我插入这个日期,我得到0000-00-00

每次用户在当月1日至20日之间付款时,wb_到期日列会将当月增加1

前。 我有一个默认值
wb_paid-date=2013-10-15和wb_due-date=2013-10-20
。 现在User1在2013年10月15日付款,我点击按钮后,wb_到期日上保存的日期是0000-00-00,而不是2013年11月20日

看看我的代码

Function iterate(ByVal d As Date) As String
        Dim m As Integer = d.Month
        If d.Month >= 1 And d.Month <= 11 Then
            m += 1
        ElseIf d.Month = 12 Then
            m = 1
        End If
        Return m
    End Function

cmd = New MySqlCommand("INSERT INTO tbl_billing(wb_paid-date, wb_due-date) 
VALUES(CURDATE(), iterate(Now.Date) , con)
函数迭代(ByVal d作为日期)作为字符串
Dim m为整数=d.月

如果d.Month>=1,并且d.Month首先,让我们修复您的函数:

Function iterate(ByVal d As DateTime) As String
    Return d.AddMonths(1).ToString("yyyy-MM-dd")
End Function
此外,若您在命令中输入字符串日期,几乎肯定是做错了什么。让我们这样做:

Function iterate(ByVal d As DateTime) As DateTime
    Return d.AddMonths(1)
End Function
然后我们将修复您的Sql命令:

cmd = New MySqlCommand("INSERT INTO tbl_billing(wb_paid-date, wb_due-date) VALUES(CURDATE(), ? " , con)
cmd.Parameters.Add("?", SqlDbType.DateTime).Value = iterate(Today)

您的SQL无效。您无法从发送到MySQL服务器的SQL调用VB函数。我遇到了错误“输入字符串不符合格式”,我按照您的回答进行了操作