2011-09-08 6 views
-1

여러 가지 유형의 날짜 형식을 시도했지만 아직 제대로 이해하지 못했습니다. 다음은 MySQL 데이터베이스에 날짜 값을 저장하는 중 오류가 발생했습니다.

Dim serverDate As String = Format(Now(), "DD-MM-YYYY") 
strNew &= "INSERT INTO Staff (" 
      strNew &= "full_name" 
      strNew &= ", login_id" 
      strNew &= ", passwd" 
      strNew &= ", last_update" 
      strNew &= ") VALUES (" 
      strNew &= "'" & txt_Name.Text & "'" 
      strNew &= ", '" & txt_Login.Text & "'" 
      strNew &= ", '" & txt_Password.Text & "'" 
      strNew &= ", (STR_TO_DATE('" & serverDate & "', '%d-%m-%Y'))" 
      strNew &= ")" 

내가 밖으로 놓쳤다 어떤 생각을 writen했다 코딩입니다 .. 많은 감사합니다 도움을줍니다 ..

편집 # 1 : 오류에 추가 잊어 버렸 메시지
"잘못된 날짜 시간 값 : 함수 STR_TO_DATE에 대한 'DD-09-YYYY'"y를 사용할 필요가 그래서 당신은 하드 코딩 SQL 문자열을 사용하는

+0

내 질문이 부결되었다 왜? .. TT_____TT 난 단지 내가 여기에 게시 한 후 문제를 해결하는 방법을 생각 밖으로 정말입니다 .. – BlurrieBlue

+0

안녕하세요, SQL 인젝션 공격 –

답변

0

yyy-MM-dd 형식 날짜.

Dim serverDate As String = DateTime.Now.ToString("yyyy-MM-dd") 

strNew &= "INSERT INTO Staff (" 
      strNew &= "full_name" 
      strNew &= ", login_id" 
      strNew &= ", passwd" 
      strNew &= ", last_update" 
      strNew &= ") VALUES (" 
      strNew &= "'" & txt_Name.Text & "'" 
      strNew &= ", '" & txt_Login.Text & "'" 
      strNew &= ", '" & txt_Password.Text & "'" 
      strNew &= ", '" & serverDate & "'" 
      strNew &= ") 

편집 :

@BlurrieBlue : "잘못된 날짜 시간 값 : 'DD-09-YYYY'를 기능 STR_TO_DATE은" 오류 메시지에 추가 잊어 버렸

예 잘못된 형식입니다. hard-coded SQL 문자열을 사용하지 마십시오 : 그것은

Format(Now(), "dd-MM-yyyy") 

이 코드 조각

cmd=new MySqlCommand() 
cmd.Connection=cn 
cmd.CommandText="INSERT INTO Staff (?full_name,?login_id,?passwd,?last_update)" 
cmd.Parameters.Add("?full_name", MySql.Data.MySqlClient.MySqlDbType.VarChar).Value =txt_Name.Text 
cmd.Parameters.Add("?login_id", MySql.Data.MySqlClient.MySqlDbType.VarChar).Value =txt_Login.Text 
cmd.Parameters.Add("?passwd", MySql.Data.MySqlClient.MySqlDbType.VarChar).Value =txt_Password.Text 
cmd.Parameters.Add("?last_update", MySql.Data.MySqlClient.MySqlDbType.DateTime).Value =DateTime.Now 

cn.Open() 
cmd.ExecuteNonQuery() 
cn.Close() 

오프 주제에 봐해야합니다. 매개 변수가있는 SQL 문을 사용하십시오.

+0

내가 얻을 저장 프로 시저를 사용하려고 전에 serverTime하지만 너무 문제가 데이터베이스에 저장했다. – BlurrieBlue

+0

나는 주어진 솔루션을 시도했지만 여전히 나에게 같은 오류 메시지를 준다 .. 내가 어떤 라이브러리를 가져올 필요가 있습니까? – BlurrieBlue

+0

@BlurrieBlue : 사용하고있는 API를 제공합니다. (.net 연결?) – adatapost

관련 문제