2014-09-15 8 views
2

를 정의해야합니다 내 코드 :매개 변수 '@ 이메일은'나는 오류 매개 변수 '@ 이메일은'정의해야합니다있어

MySqlCommand cmd = new MySqlCommand("INSERT INTO users VALUES(@email,@password,@firstName,@LastName,@UserID,@address,@birthday,0)", con);  
cmd.Parameters.AddWithValue(@email, email); 
      cmd.Parameters.AddWithValue(@password, password); 
      cmd.Parameters.AddWithValue(@firstName, firstName); 
      cmd.Parameters.AddWithValue(@LastName, LastName); 
      cmd.Parameters.AddWithValue(@UserID,UserID); 
      cmd.Parameters.AddWithValue(@address, address); 
      cmd.Parameters.AddWithValue(@birthday, birthday); 

      /*THE PROBLEM ISNT IN THE DATABASE,THE FOLOOW INSERT STATMENT WORK!"*/ 
      // MySqlCommand cmd = new MySqlCommand("INSERT INTO users VALUES('evyataresdxez','sdfs','sdfsdf','sdds',33,'sdfsdf','232',0)", con); 


      con.Open(); 
      cmd.ExecuteNonQuery(); 
      cmd.Parameters.Clear(); 

나는 데이터베이스/코드에는 문제가 없다 주석의 코드가 잘 작동하기 때문입니다. 감사합니다

+1

AddWithValue 콜에서 –

+0

그래, 이제 그 일 –

답변

3

매개 변수 이름을 인용해야합니다. 지금의 약자로서, 당신은 매개 변수의 이름으로 매개 변수 값을 전달하는 : 변수 이름 앞에 @ 기호 valid syntax 때문에 당신이 그것을 가지고

 cmd.Parameters.AddWithValue("email", email); 
     cmd.Parameters.AddWithValue("password", password); 
     cmd.Parameters.AddWithValue("firstName", firstName); 
     cmd.Parameters.AddWithValue("LastName", LastName); 
     cmd.Parameters.AddWithValue("UserID", UserID); 
     cmd.Parameters.AddWithValue("address", address); 
     cmd.Parameters.AddWithValue("birthday", birthday); 

이 컴파일 된 방법 당신은 당신의 변수 이름을 발생 매개 변수 이름과 동일합니다.

+0

와우, 나는 그것을 4 시간 고치려고 애썼다. –