2011-10-30 9 views
0

mysql DB에서 INSERT 쿼리를 실행하려고하는데 코드 실행이 중지되고 아무것도 삽입되지 않는다는 것을 제외하고는 아무 것도 일어나지 않습니다. 그래서 obvisously 뭔가가 잘못이다, 내가 코드를 밟을 경우MySqlCommand.ExecuteNonQuery가 실패합니다.

  query = string.Format("INSERT INTO users (username, settings) VALUES('{0}', '{1}')", userName, sw.ToString()); 
      myCommand = new MySqlCommand(); 
      myCommand.CommandText = query; 
      myCommand.Connection = con; 
      myCommand.ExecuteNonQuery(); 

, 그것은 ExecuteNonQuery는 이후 중지 : 다음은 코드 (연결이 다른 지점에 구성되어 있고 작동)입니다. 하나님은 내가 당신이 연결이 실제로 열려 확인하고 시도의 catch 블록에서 int로 결과를 할당하여 방법을 실행 해봤

+0

ExecuteNonQuery()가 반환하는 것은 무엇입니까? – Ignacio

+0

문제는 아무 것도 반환하지 않고 실행 된 후 코드가 멈추는 현상입니다. 폼이 표시되지만, 그들은 등 작업해야합니다. 나는 db에 대해 직접 쿼리를 실행 해 보았습니다. – fgblomqvist

답변

1

:(나 오류가 발생하지 않는 것을 싫어.

int result; 

try 
{ 
    if (conn.State != ConnectionState.Open) 
        conn.Open(); 

    result = Convert.ToInt32(dbComm.ExecuteNonQuery()); 
} 
catch (Exception ex) 
{ 
    logger.Error(ex); 
} 
finally 
{ 
    if (conn.State != ConnectionState.Closed) 
        conn.Close(); 
} 
+0

놀라운 이제 마침내 날 실수를 던져서 그것을 해결할 수있었습니다! 감사합니다! – fgblomqvist

+1

'int result'는 사용되지 않습니다. 왜 그곳에 가지고 있습니까? – IROEGBU