2012-05-07 4 views
0

얘들은 MySQL의 커넥터 C#을 사용 메신저 도와주세요이 오류를 해결하기 위해 노력 정말 힘든 시간을 보내고 메신저와 나는 이런 식 쿼리를 ... 쓴MySQL의 쿼리 SCOPE_IDENTITY 오류

INSERT INTO employee VALUES(...); SELECT last_insert_id(); 

하지만, 내가 어떤 이유로 :(

"You have an error in your SQL syntax; check the manual that corresponds to your MySql server version for the right syntax to use near 'SELECT scope_identity()' at line 1". 

난이 오류에 대해 얻을 해달라고 부분이 오류가 계속하는 것은 내가 scope_identity() 내 코드 어디 작성 해달라고 것입니다.

심지어 내 쿼리의 SELECT last_insert_id(); 부분을 삭제했지만 일부 이상한 이유로 여전히 동일한 오류가 발생합니다.

[EDIT] 이 완벽 쿼리를 생성하지만 = "직원 VALUES (...) 속으로 삽입"scope_identity() 오히려 삽입 문자열

public static MySqlCommand insert(string tableName, params object[] values) 
    { 
     string sqlQuery = "INSERT INTO " + tableName + " VALUES("; 

     for (int i = 0; i < values.Count(); i++) 
     { 
      if (i == values.Count() - 1 && values[i] is string) 
      { 
       sqlQuery = sqlQuery + "'" + values[i] + "'"; 
      } 
      else if (i == values.Count() - 1 && values[i] is int) 
      { 
       sqlQuery = sqlQuery + values[i]; 
      } 
      else if (values[i] is string || values[i] is DateTime) 
      { 
       sqlQuery = sqlQuery + "'" + values[i] + "', "; 
      } 
      else if (values[i] is int) 
      { 
       sqlQuery = sqlQuery + values[i] + ", "; 
      } 
     } 

     sqlQuery = sqlQuery + "); SELECT LAST_INSERT_ID(); "; 

     MySqlCommand cmd = new MySqlCommand(sqlQuery); 

     return cmd; 
    } 
+0

여기 뭔가 비린내가 있습니다 ... 실제 쿼리와 실행을 위해 사용중인 C# 코드를 게시 할 수 있습니까? –

답변

0

last_insert_id()보다 끝이 추가;

문자열 선택 = "SELECT last_insert_id()";

+0

그는 그가 가지고있는 것과 똑같이 하나의 쿼리에서이 작업을 수행 할 수 있어야합니다 (직접 여러 번 해보았습니다). 회신 MonTy에 대해서는 –

+0

thnx이지만 Eric은 맞습니다. 그것은 내가 가지고있는 것처럼 작동해야한다, 내가 선택한 문을 제거하려고 했는데도 여전히 같은 오류를 주었다고 말한 것처럼 : ( – Haseeb

+0

아무도 모른다는 것을 알지 못한다. – Haseeb