2013-10-10 5 views
0

여기 시나리오가 있습니다. mysql에 특정 날짜를 삽입해야합니다. 이 날짜를 삽입 할 때마다 0000-00-00이됩니다. 사용자가 1과 달의 20 일 사이에 지급vb.net을 사용하여 MySQL에 특정 날짜를 삽입하십시오.

매번 다음 wb_due - 날짜 열은 1

예에 의해 달 증가합니다. 기본값이 wb_paid-date = 2013-10-15 and wb_due-date = 2013-10-20입니다. 이제 사용자 1은 2013-10-15에 유료 및 I 버튼을 클릭 한 후, 날짜가 wb_due - 날짜를 저장하는 것은 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) 
+1

당신의 SQL이 유효하지 않습니다. MySQL 서버로 보낸 SQL에서 VB 함수를 호출 할 수 없습니다. – Dai

답변

0

우선, 함수를 수정하자

또한
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) 
+0

"입력 문자열이 형식이 아닙니다"라는 오류가 발생했습니다. – eaponz

관련 문제