2014-04-13 2 views
1

내 PC에서 datetime을 가져와 내 테이블 으로 보내고 싶습니다. 여기에 있습니다 : 통신 실패/문자열이 유효한 DateTime으로 인식되지 않았습니다 만드는 법 현재 날짜가 내 DB로 전달 될 때?VB.NET을 통해 mySQL에 데이터를 전송하는 중

SQLcmd.Parameters.AddWithValue("@Data", Convert.ToDateTime(strDate)) 

오류는 다음과 같습니다 :이 사용하는 경우

Dim regDate As Date = Date.Now() 
      Dim strDate As String = regDate.ToString("MM\/dd\/yyyy") 

SQL은 나에게 오류가 발생 문자열이 유효한 날짜 시간으로 인식되지 않았습니다를

  Dim SqlQuery1 As String = "INSERT INTO pontaj(id_pontaj,id,prezente,data) " & _ 
       "VALUES (0,@Id,1,@Data)" 


      Using con = New MySqlConnection("Server = localhost;Database = users; Uid=root; Pwd = password") 
       Using SQLcmd = New MySqlCommand(SqlQuery1, con) 
        con.Open() 
        'SQLcmd.ExecuteNonQuery() 

        ' SQLcmd.Parameters.Add(New MySqlParameter("@Id_presence", TextBox1.Text)) 
        ' SQLcmd.Parameters.Add(New MySqlParameter("@Id", TextBox2.Text)) 
        ' SQLcmd.Parameters.Add(New MySqlParameter("@Hours", TextBox3.Text)) 
        ' SQLcmd.Parameters.Add(New MySqlParameter("@Date", TextBox4.Text)) 


        ' SQLcmd.Parameters.AddWithValue("@Id_presence", Convert.ToInt32(TextBox1.Text)) 
        SQLcmd.Parameters.AddWithValue("@Id", Convert.ToInt32(Label5.Text)) 
        ' SQLcmd.Parameters.AddWithValue("@Prezente", Convert.ToInt32(TextBox3.Text)) 
        SQLcmd.Parameters.AddWithValue("@Data", Convert.ToDateTime(strDate)) 


        SQLcmd.ExecuteNonQuery() 
       End Using 


      End Using 

답변

1

는 문자열을 변환하지 마십시오 날짜를 사용하여 직접 날짜 사용

SQLcmd.Parameters.AddWithValue("@Data", DateTime.Now) 

매개 변수를 사용할 때 날짜, 숫자 또는 문자열로 이해할 수있는 방식으로 데이터베이스 엔진에 값을 표시하는 프레임 워크 코드입니다.

오류는 컴퓨터에서 유효한 datetime으로 인식되는 기본 형식이 아닌 형식을 사용하여 문자열의 날짜를 변환하려고합니다.
이제 문자열을 날짜로 다시 변환하려고하면 오류가 발생합니다.
당신은 오류를

Dim t As DateTime = Convert.ToDateTime(strDate, CultureInfo.InvariantCulture) 

을 제거하려면이 같은 것을 사용할 수 있지만,

+0

감사합니다, 그것은 작동하고 모든 변환을 할 이유가 없다. – ExtremeSwat

+0

다른 도움을 주시겠습니까? 내가 오류가 발생, 기본적으로 같은 일이 : 알 수없는 열 누메 '필드 목록'에 기본적으로 난 그냥 내 테이블 사용자 1에 내 DB 몇 가지 값을 추가하려고 : http://prntscr.com/39on8i를 VB 코드 : http://pastebin.com/CcBFiUAN – ExtremeSwat

+0

일반적으로 이런 종류의 오류는 명령 텍스트에 잘못 입력 된 필드 이름으로 인해 발생하지만 링크에서 모두 틀린 것으로 보입니다. – Steve

관련 문제