몇 시간 동안 디버깅을 한 후에도 솔루션을 찾을 수없는 문제가 있습니다.C# + MySQL + ExecuteNonQuery는 UPDATE에서 '1'을 반환하지만 DB에서는 변경되지 않습니다.
SQL 명령을 실행 한 후 C# 코드 측면에서 'ExecuteNonQuery()'를 실행 한 후 일부 값 (값이 ~ 5MB 정도의 텍스트)으로 행을 업데이트하려는 간단한 SQL 명령이 있습니다. '1'을 반환하고 예외는 발생하지 않지만 데이터베이스 행에 변경 사항이 반영되고 때로는 변경되지 않습니다.
디버깅을 시도하여 이전 값을 대체 할 값이 올바른지 확인했습니다. MySQL 5.5.11을 사용하고 있습니다.
- MySQL 설정 일 수 있습니까?
당신이 어떤 생각을 가지고 있다면이 문제에 대해 내 마음을 잃어 버리면 크게 감사 할 것입니다.
코드는이만큼 간단하다 :
cmd.CommandText = "UPDATE user SET data = @data WHERE id = @id";
그때 내가 SQL 쿼리에 대한 DBCommand 객체에 PARAMS를 추가
편집, 코드를 포함한다. '데이터'는 약 5MB 크기입니다.
이 명령은 항상 반환 '1'변경 사항이 데이터베이스에 반영되지 않은 경우에도 (언젠가 작동, 언젠가는 나던) :
cmd.ExecuteNonQuery();
사전에 감사!
몇 가지 코드를 게시하면 다음을 수행 할 수 있습니다. 1) ** 정확하게 ** ** 당신이하고있는 일과 ** ** 당신은 어떻게하고 있는지, 2) 우리는 아마 같은 문제를 재현 할 수 있습니다. – Arran
나는 비슷한 문제가있어서 열을 제거하고 다시 만들었습니다. 왜 그런지 묻지 마라.MySql 드라이버에는 MS 제품에 몇 가지 문제가 있습니다. – rcdmk
짧은 텍스트로 행을 업데이트하려고 시도 했습니까? – eflles